docker中Dockerfile如何自定义tomcat镜像
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下docker中Dockerfile如何自定义tomcat镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2025年11月08日docker中Dockerfile如何自定义tomcat镜像
小编给大家分享一下docker中Dockerfile如何自定义tomcat镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、创建目录
[root@t-docker chenzx]# mkdir tomcat9
2、在上述目录下touch c.txt,为了演示copy指令的功能
[root@t-docker tomcat9]# touch c.txt
3、将jdk和tomcat安装的压缩包拷贝进上一步目录
[root@t-docker tomcat9]# lsatlassian-confluence-6.11.0.tar.gz c.txt jdk1.8.0_65.tar.gz
4、新建Dockerfile文件
[root@t-docker tomcat9]# cat Dockerfile FROM centosMAINTAINER chenzx#把宿主机当前上下文的c.txt拷贝到容器/opt路径下COPY c.txt /opt/container.txt#用ADD指令把java和tomcat压缩包添加到容器中,并自动解压ADD atlassian-confluence-6.11.0.tar.gz /optADD jdk1.8.0_65.tar.gz /opt#安装vim编辑器RUN yum -y install vim#设置工作访问时候的WORKDIR路径,登录落脚点ENV MYPATH /optWORKDIR $MYPATH#配置java与tomcat环境变量ENV JAVA_HOME /opt/jdk1.8.0_65ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarENV CATALINA_HOME /opt/atlassian-confluence-6.11.0ENV CATALINA_BASE /opt/atlassian-confluence-6.11.0ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin#容器运行时监听的端口EXPOSE 8080#启动时运行tomcat#ENTRYPOINT ["/opt/atlassian-confluence-6.11.0/bin/startup.sh"]#CMD ["/opt/atlassian-confluence-6.11.0/bin/catalina.sh","run"]CMD /opt/atlassian-confluence-6.11.0/bin/startup.sh && tail -F /opt/atlassian-confluence-6.11.0/logs/catalina.out
5、构建
[root@t-docker tomcat9]# docker build -t tomcat9 .Sending build context to Docker daemon 719MBStep 1/15 : FROM centos ---> 5182e96772bfStep 2/15 : MAINTAINER chenzx ---> Running in d04f35bb304dRemoving intermediate container d04f35bb304d ---> b1535d029856Step 3/15 : COPY c.txt /opt/container.txt ---> ef3569b7b95dStep 4/15 : ADD atlassian-confluence-6.11.0.tar.gz /opt ---> 0aed885f1740Step 5/15 : ADD jdk1.8.0_65.tar.gz /opt ---> 56ef4a5d806cStep 6/15 : RUN yum -y install vim ---> Running in 96d23e66cbc6Loaded plugins: fastestmirror, ovlDetermining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.comStep 7/15 : ENV MYPATH /opt ---> Running in f8b147007a67Removing intermediate container f8b147007a67 ---> 88cd40f1df40Step 8/15 : WORKDIR $MYPATH ---> Running in 55ba5490990aRemoving intermediate container 55ba5490990a ---> 2bdeb9172d40Step 9/15 : ENV JAVA_HOME /opt/jdk1.8.0_65 ---> Running in e5edb170b825Removing intermediate container e5edb170b825 ---> 2b315b03c617Step 10/15 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ---> Running in a3c6d7e8a539Removing intermediate container a3c6d7e8a539 ---> 5a49c2cefc2aStep 11/15 : ENV CATALINA_HOME /opt/atlassian-confluence-6.11.0 ---> Running in 6c105a803c9cRemoving intermediate container 6c105a803c9c ---> 8a4879a4d399Step 12/15 : ENV CATALINA_BASE /opt/atlassian-confluence-6.11.0 ---> Running in 894570c08307Removing intermediate container 894570c08307 ---> 843b28783e33Step 13/15 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin ---> Running in 14ea7d7ae882Removing intermediate container 14ea7d7ae882 ---> 2fbdf4cb96b6Step 14/15 : EXPOSE 8080 ---> Running in 0b55f91baea1Removing intermediate container 0b55f91baea1 ---> 340b421dfc43Step 15/15 : CMD /opt/atlassian-confluence-6.11.0/bin/startup.sh && tail -F /opt/atlassian-confluence-6.11.0/logs/catalina.out ---> Running in 551c8481362eRemoving intermediate container 551c8481362e ---> 4edb0a9de409Successfully built 4edb0a9de409Successfully tagged tomcat9:latest[root@t-docker tomcat9]#
[root@t-docker tomcat9]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEtomcat9 latest 4edb0a9de409 3 minutes ago 1.3GB
6、run
[root@t-docker tomcat9]#docker run -d -p 9080:8090 --name myt9 \-v /volume/test:/opt/atlassian-confluence-6.11.0/test \-v /volume/tomcatlogs:/opt/atlassian-confluence-6.11.0/logs \--privileged=true \tomcat9
-v就是数据卷的意思,volume
[root@t-docker tomcat9]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa4174d4abeba tomcat9 "/bin/sh -c '/opt/at…" 7 seconds ago Up 6 seconds 8080/tcp, 0.0.0.0:9080->8090/tcp myt9
7、验证
[root@t-docker tomcat9]# docker exec a4174d4abeba ls -ltotal 0drwxr-xr-x 1 1000 1000 42 Sep 2 03:41 atlassian-confluence-6.11.0-rw-r--r-- 1 root root 0 Sep 2 02:38 container.txtdrwxr-xr-x 9 root root 268 Feb 24 2016 jdk1.8.0_65drwxr-x--- 2 root root 102 Sep 2 03:41 logs
8、综合前述的容器卷测试web服务的发布
以后发版,就在宿主机上的/volume/test里面发版即可,具体测试略。
[root@t-docker tomcat9]# cd /volume/test
[root@t-docker test]# mkdir WEB-INF
[root@t-docker test]# cd WEB-INF/
以上是"docker中Dockerfile如何自定义tomcat镜像"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
容器
目录
篇文章
镜像
内容
宿主
拷贝
指令
路径
测试
运行
上下
上下文
不怎么
功能
变量
大部分
宿主机
就是
意思
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
珠海门禁软件开发
阿里云服务器硬盘
查询数据库中科学计数法字段
做软件开发赚钱吗
办公pc可以装服务器系统吗
软件开发信息传递
联想机架服务器对比
淮安直销软件开发创新服务
网络安全和运维哪个难
如何重启数据库
软件开发没有奖金
数据库怎么改字段属性
短视频社交软件开发
中宏黄金互联网科技有限公司
vpn服务器工具
网络安全管理领导小
数据库架构设计工具
湖北计算机应用软件开发定制
明日之后三个服务器的名字
微信小程序数据库后台
中研巡更机数据库服务是否开启
mips软件开发
净网2020网络安全
办公pc可以装服务器系统吗
不动产网络安全制度
网络技术工程师考试内容
网络安全区域设计
网络安全黑板报的句子
软件开发项目尖兵颁奖词
天空工厂4服务器设置