原创

docker打包tomcat记录

温馨提示:
本文最后更新于 2022年10月27日,已超过 918 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1. 环境准备

需要解压好的tomcat和jdk

2. 拉取一个centos的初始镜像

docker search centos  docker pull centos

3.创建一个Dockerfile文件

touch Dockerfile

4.编辑文件内容

#300e315adb2f 是centos的镜像id
FROM 300e315adb2f
MAINTAINER hmk
ENV REFRESHED_AT 2018-03-10

#切换镜像目录,进入/usr目录
WORKDIR /usr

#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk

#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
ADD jdk1.8.0_251 /usr/jdk/

#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
ADD apache-tomcat-8.5.54 /usr/tomcat/

#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH

#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]

5. 构建镜像

#### docker build -t 镜像名 .  (最后的.不能忘记了)

6. 查看镜像

docker images

7.启动镜像

docker run -d -p 8080:8080 镜像名  (将镜像内的端口8080通过外部的8080端口映射出去)

8.进入容器查看相关文件

docker exec -it 480f45dc4c00284690b378c063daf7371719c1cddf0efc2032223bfb318b2076 /bin/bash

9.将宿主机的war包挂载至容器的 tomcat webapps下(此处容器名是yunnan war包是yn-agrometeorology.war )

docker run -d -p 8080:8080 -v /usr/local/docker/webapps/yn-agrometeorology.war:/usr/tomcat/webapps/yn-agrometeorology.war yunnan

10.外网访问8080即可

正文到此结束