Dockerfile 自定义tomcat镜像 ,并部署web项目

发布于 2021-05-26  168 次阅读


一、准备搭建环境

  1. Linux 版JDK ,示例中路径与Dockerfile 文件平级 传送门

  2. Linux 版Tomcat,示例中路径与Dockerfile 文件平级 传送门

  3. 准备一个简单的web工程测试时使用 ,示例中项目绝对路径 /usr/local/tomcat/webapps/test 传送门

  img

自己宿主机新建个tomcat目录,解压测试web项目到webapps

img

二、创建并编辑 Dockerfile 内容

  1. Dcoekrfile 内容

FROM centos
#作者
MAINTAINER qizhi [email protected]
#拷贝tomcat jdk 到镜像并解压
ADD apache-tomcat-8.5.30.tar.gz /usr/local/tomcat
ADD jdk-8u202-linux-x64.tar.gz /usr/local/jdk
#定义交互时登录路径
ENV MYPATH /usr/local
WORKDIR MYPATH
#配置jdk 和tomcat环境变量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_202
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-8.5.30
ENV CATALINA_BASE /usr/local/tomcat/apache-tomcat-8.5.30
ENV CLASSPATHJAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
ENV PATHPATH:JAVA_HOME/bin:CATALINA_HOME/lib:$CATALINA_HOME/bin
#设置暴露的端口
EXPOSE 8080
#运行tomcat
CMD /usr/local/tomcat/apache-tomcat-8.5.30/bin/startup.sh && tail -f /usr/local/tomcat/apache-tomcat-8.5.30/logs/catalina.out

三、使用build命令构建镜像

docker build -f Dockerfile -t qizhi/tomcat:1.5 .

 

img

四、运行镜像

  1. 运行镜像

docker run -d -p 8080:8080 --name mytomcat1.5 
-v /usr/local/tomcat/logs:/usr/local/tomcat/apache-tomcat-8.5.30/logs/
-v /usr/local/tomcat/webapps:/usr/local/tomcat/apache-tomcat-8.5.30/webapps/  
qizhi/tomcat:1.5 

注: 注意空格和换行,两个 -v 参数为挂载目录,四行命令作为一行执行,不能分开运行
第一个-v 把容器中tomcat的日志挂载到宿主机 
第二个把我们准备简单的web项目挂载到容器中tomcat的webapps 工作空间目录,我们添加web项目时部署到宿主机文件路径即可

​ 2. 查看容器运行结果

 img

  3. 测试项目简单web页面

img


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。