Dockerfile构建Tomcat镜像(源码)

Dockerfile构建Tomcat镜像

目录

Dockerfile构建Tomcat镜像

1、建立工作目录

2、编写Dockerfile文件

3、构建镜像

4、测试容器

5、浏览器访问测试:


1、建立工作目录

[root@huyang1 ~]# mkdir tomcat[root@huyang1 ~]# cd tomcat/[root@huyang1 tomcat]# lsapache-tomcat-8.5.40.tar.gz  jdk-8u191-linux-x64.tar.gz[root@huyang1 tomcat]# tar xfjdk-8u191-linux-x64.tar.gz[root@huyang1 tomcat]# tar xfapache-tomcat-8.5.40.tar.gz

2、编写Dockerfile文件

[root@huyang1 tomcat]# vim Dockerfile

配置如下:

FROM centos:7
MAINTAINER Crushlinux <crushlinux@163.com> ADD jdk1.8.0_191 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jarADD apache-tomcat-8.5.40 /usr/local/tomcat
RUN chmod 755 /usr/local/tomcat/bin/startup.sh
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeEXPOSE 8080CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

3、构建镜像

[root@huyang1 tomcat]# docker build -t tomcat:new .

[root@huyang1 ~]# docker images tomcat:new

4、测试容器

[root@huyang1 tomcat]# docker run -d -p 8080:8080 --name tomcat-test  tomcat:new

5、浏览器访问测试:

http://192.168.100.131:8080

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/24704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】基础数据结构:列表——元组——字典——集合

文章目录 一、简述二、Python中的列表详解2.1 创建列表2.2 访问列表元素2.3 修改列表元素2.4 列表切片2.5 列表方法2.6 列表推导式 三、Python中的元组详解3.1 创建元组3.2 访问元组元素3.3 元组是不可变的3.4 元组切片3.5 元组方法 四、Python中的字典详解4.1 创建字典4.2 访问…

华为HarmonyOS NEXT初体验,打造纯血鸿蒙指日可待,适配百款应用

在2023年的华为开发者大会&#xff08;HDC.Together&#xff09;&#xff0c;华为推出了面向开发者的HarmonyOS NEXT开发者预览版&#xff0c;此外还有面向消费者的HarmonyOS 4。华为宣布&#xff0c;HarmonyOS NEXT已开放给合作企业开发者&#xff0c;计划在2024年第一季度对所…

多线程篇-线程安全-原子性、可见性、有序性解析

多线程篇-线程安全-原子性、可见性、有序性解析 在程序中使用多线程的目的是什么&#xff1f; 1、提高效率&#xff0c;增加任务的吞吐量 2、提升CPU等资源的利用率&#xff0c;减少CPU的空转 多线程的应用在日常开发中很多&#xff0c;带来了很多的便利&#xff0c;让我们以前…

Socket网络编程练习二

从客户端发送文件到服务端&#xff0c;服务端保存到本地&#xff0c;并发送确认消息给客户端&#xff0c;并关闭相应的连接 package internet;import org.junit.Test;import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket;/…

Spring的AutoWrite自动装配

一、概念 首先要了解一个思想就是IOC思想(控制反转)&#xff0c;由此我们便需要使用DI(依赖注入)&#xff0c;依赖注入可以注入对象、字符串、等等&#xff0c;在注入对象时&#xff0c;我们往往需要手动new一个对象进行注入&#xff0c;自动装配就是代替我们手动new对象这一过…

图像快速傅里叶变换的工业应用案例简介:图像自相关,背景纹理去除,旋转矫正,划痕检测

快速傅里叶变换是非常重要的数学分析工具&#xff0c;同时也是一种非常重要的信号处理方法。 下面借助Halcon商业图像处理库&#xff0c;介绍些工业应用案例&#xff0c;我们可以通过案例理解图像快速傅里叶变换的一些应用场景。 案例1&#xff1a;图像自相关性确定芯片间距 …

体育赛事管理系统的设计与实现(源码+论文)_kaic

摘要 许多年以前&#xff0c;人们在对数据进行统计和记录时候&#xff0c;使用的是纸和笔&#xff0c;对于大量数据的记录很不方便&#xff0c;使用的人力物力也很庞大&#xff0c;到了现在&#xff0c;人们对纸和笔的依赖慢慢降低&#xff0c;在如今的互联网时代&#xff0c;…

python爬虫1:基础知识

python爬虫1&#xff1a;基础知识 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 目录结构 文章目录 python爬虫1&#xff1a;基础知识1. 基础认知1.1 什么是爬虫&…

3.CNI网络

文章目录 CNI网络FlannelUDP模式VXLAN模式部署flannel CalicoCalico模式Calico部署 flannel 和 calico 区别 CNI网络 K8S 中 Pod 网络通信&#xff1a; Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容器是不会跨宿主机的&#xff09;共享同一个网络命…

Redis内网主从节点搭建

Redis内网主从节点搭建 1、文件上传2、服务安装3、服务启动4、配置主从复制 1、文件上传 内网环境手动上传gcc-c、redis.tar文件 2、服务安装 # 解压 unzip gcc-c.zip unzip gcc_rpm.zip tar -zxvf redis-6.2.13.tar.gz# 安装 cd gcc_rpm/ rpm -ivh *.rpm --nodeps --force…

【HDFS】每天一个RPC系列----complete(二):客户端侧

上图给出了最终会调用到complete RPC的客户端侧方法链路(除去Router那条线了)。 org.apache.hadoop.hdfs.DFSOutputStream#completeFile(org.apache.hadoop.hdfs.protocol.ExtendedBlock): 下面这个方法在complete rpc返回true之前,会进行重试,直到超过最大重试次数抛异…

ChatGPT下架官方检测工具,承认无法鉴别AI内容

去年底&#xff0c;OpenAI 推出的 ChatGPT &#xff0c;带来了生成式人工智能涌现的热潮。它不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务&#xff0c;还能通过学习和理解人类的语言来进行对话&#xff0c;并根据聊天的上下文进行互动。 但随之而来的争议也让人…

整理一些Postgresql工作中常用面试中会问的问题---Postgresql面试题001

1.什么是Postgresql TOAST? TOAST (The Oversized-Attribute Storage Technique,超大尺寸字段存储技术)主要用于存储大字段的值。 PostgreSQL 页面(page)大小是固定的(通常为8KB),且不允许tuples跨多个页面存储。因此不能存储非常大的字段值。为了克服这个限制,大字段…

IOS开发:指定路径创建新文件夹

指定路径创建新文件夹 典型错误示范&#xff1a; let documentDirectoryURL FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] let directoryURL documentDirectoryURL.appendingPathComponent("FolderName", isDirectory: true)if F…

Service not registered 异常导致手机重启分析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Service not registered 异常导致手机重启二、Service not registered 解决方案 一、Service not registered 异常导致手机重启 1.重启 的部分Log如…

ruby调试

如果下载 ruby-debug-ide gem install ruby-debug-ide vscode 下载 ruby扩展 1&#xff0c; ruby 2&#xff0c;修改launch.json

Zebec 创始人 Sam 对话社区,“Zebec 生态发展”主题 AMA 回顾总结

近日&#xff0c;Zebec Protocol 创始人 Sam 作为嘉宾&#xff0c;与社区进行了以“Zebec 生态发展”为主题的 AMA 对话。Sam 在线上访谈上对 Zebec 路线图、Zebec 质押、NautChain通证进行了解读&#xff0c;并对 Zebec 的进展、生态建设的愿景进行了展望。本文将对本次 AMA 进…

C语言第十四课-------结构体的认识和使用-------重要一笔

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; &#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382;…

P1195 口袋的天空

口袋的天空 题目背景 小杉坐在教室里&#xff0c;透过口袋一样的窗户看口袋一样的天空。 有很多云飘在那里&#xff0c;看起来很漂亮&#xff0c;小杉想摘下那样美的几朵云&#xff0c;做成棉花糖。 题目描述 给你云朵的个数 N N N&#xff0c;再给你 M M M 个关系&…

mac m1使用docker安装kafka

1.拉取镜像 docker pull zookeeper docker pull wurstmeister/kafka 2.启动zookeeper docker run -d --name zookeeper -p 2181:2181 zookeeper 3.设置zookeeper容器对外服务的ip Zookeeper_Server_IP$(docker inspect zookeeper --format{{ .NetworkSettings.IPAddress }}…