11、Dockerfile实战-Tomcat
作者:@skyflask
转载本文请注明出处:https://www.cnblogs.com/skyflask/p/10105948.html
目录
一、编写Dockerfile
二、制作镜像
三、测试镜像
一、编写Dockerfile
具体步骤这里不再细说,直接看Dockerfile文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | FROM centos: 7 MAINTAINER QUNXUE ENV VERSION = 8.0 . 46 RUN yum install java - 1.8 . 0 - openjdk wget curl unzip iproute net - tools - y && \ yum clean all && \ rm - rf / var / cache / yum / * #RUN wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz && \ COPY apache - tomcat - ${VERSION}.tar.gz / RUN cd / && \ tar zxf apache - tomcat - ${VERSION}.tar.gz && \ mv apache - tomcat - ${VERSION} / usr / local / tomcat && \ rm - rf apache - tomcat - ${VERSION}.tar.gz / usr / local / tomcat / webapps / * && \ mkdir - p / usr / local / tomcat / webapps / test && \ echo "ok" > / usr / local / tomcat / webapps / test / status.html && \ sed - i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' / usr / local / tomcat / bin / catalina.sh && \ ln - sf / usr / share / zoneinfo / Asia / Shanghai / etc / localtime ENV PATH $PATH: / usr / local / tomcat / bin WORKDIR / usr / local / tomcat EXPOSE 8080 CMD [ "catalina.sh" , "run" ] |
二、制作镜像
1 | docker build - t tomcat:v1 - f Dockerfile . |
最后结果如下:
查看镜像:
三、测试镜像
1 | docker run - d - - name tomcat01 - p 8011 : 8080 tomcat:v1 |
通过宿主机的8011端口就可以访问到容器的tomcat服务。
可以看到,我们的容器跑起来了,但是,正常情况下,我们的tomcat是跑war包的,后面学习CI/CD都需要用到Jenkins,他就有war包,所以我们去官网下载一个Jenkins的war包吧。
再次制作镜像:
Dockerfile-jenkins文件:
1 2 3 | FROM tomcat:v1 COPY jenkins.war / usr / local / tomcat / webapps / ROOT.war |
制作Jenkins镜像:
1 | docker build - t jenkins:v1 - f Dockerfile - jenkins . |
测试镜像:
1 | docker run - d - - name jenkins - p 8012 : 8080 jenkins:v1 |
查看结果:
我们可以看到,Jenkins直接起来可以使用了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」