docker中Dockerfile如何自定义tomcat镜像
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,小编给大家分享一下docker中Dockerfile如何自定义tomcat镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
国外物流数据库
荥阳数据库修复
上海一站式软件开发服务价格
荔枝网络技术公司
锐起无盘 服务器
纵协网络技术有限公司
什么是中间件软件开发技术
显示连接不到服务器但是网连着
联机服务器管理指令集
剑网3哪个服务器稳
中娱网络技术有限公司电话
大连软件开发技术培训学校
网络安全法具体包括
无线网络安全绘画软件
ip网络技术下载
qt 打印数据库驱动
ios开发数据库
数据库管理功能的是
宝山区本地网络技术定做价格
公司无线网络安全通知
人渣服务器延迟高怎么办
长春网络技术咨询质量服务
怎么创建免费我的世界服务器
多功能物联网大数据平台软件开发
服务器关闭安全配置
消费机服务器
跨专业网络安全书籍
利用数据库查找文献的步骤
数据库索引建立格式
数据库的行列标题