使用docker制作tomcat镜像
2022-12-12 本文已影响0人
arkliu
制作自己的tomcat镜像
准备镜像文件
- tomcat压缩包
-
jdk的压缩包
image.png
编写Dockerfile文件,build会自动寻找该文件,就不需要-f 指定了
FROM centos
MAINTAINER lh<998765f456@qq.com>
COPY readme.txt /usr/local/readme.txt
# ADD 命令会自动解压缩压缩包
ADD jdk-8u141-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.83.tar.gz /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_141
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.83
ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.83
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib;$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.83/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.83/bin/logs/catalina.out
docker build -t diytomcat . 构建镜像
lh@lh-pc:~/tomcat$ docker build -t diytomcat .
Sending build context to Docker daemon 196.1MB
Step 1/14 : FROM centos
---> 5d0da3dc9764
Step 2/14 : MAINTAINER lh<998765f456@qq.com>
---> Using cache
---> a651b8075267
Step 3/14 : COPY readme.txt /usr/local/readme.txt
---> Using cache
---> 6f5948eaf131
Step 4/14 : ADD jdk-8u141-linux-x64.tar.gz /usr/local/
---> Using cache
---> 6eadca165c8e
Step 5/14 : ADD apache-tomcat-8.5.83.tar.gz /usr/local/
---> Using cache
---> 1fe5585ba3c8
Step 6/14 : ENV MYPATH /usr/local
---> Running in 1dec052074b6
Removing intermediate container 1dec052074b6
---> dc6cecfb088a
Step 7/14 : WORKDIR $MYPATH
---> Running in 812d54ae5a87
Removing intermediate container 812d54ae5a87
---> 63994e594a9f
Step 8/14 : ENV JAVA_HOME /usr/local/jdk1.8.0_141
---> Running in 0b95775eb607
Removing intermediate container 0b95775eb607
---> 2b3994e426db
Step 9/14 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
---> Running in 0cb6c9cfb7b9
Removing intermediate container 0cb6c9cfb7b9
---> 839ad504e2c7
Step 10/14 : ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.83
---> Running in c1b22129d2c1
Removing intermediate container c1b22129d2c1
---> ffc3147249e7
Step 11/14 : ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.83
---> Running in 76e7c64f7560
Removing intermediate container 76e7c64f7560
---> 8783d5e38502
Step 12/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib;$CATALINA_HOME/bin
---> Running in cf3953ddd8a8
Removing intermediate container cf3953ddd8a8
---> 29335e79e746
Step 13/14 : EXPOSE 8080
---> Running in 1076ee2c17d5
Removing intermediate container 1076ee2c17d5
---> 0f894562be43
Step 14/14 : CMD /usr/local/apache-tomcat-8.5.83/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.83/bin/logs/catalina.out
---> Running in adf0c8f9791b
Removing intermediate container adf0c8f9791b
---> 5c16a9e565e4
Successfully built 5c16a9e565e4
Successfully tagged diytomcat:latest
启动镜像
docker run -d -p 9090:8080 --name diytomcat -v ~/tomcat/test:/usr/local/apache-tomcat-8.5.83/webapps/test -v ~/tomcat/tomcatlogs/:/usr/local/apache-tomcat-8.5.83/logs diytomcat
访问tomcat

save和load镜像
使用docker save命令保存已有的镜像为压缩包
# docker save -o diytomcat_save.tar 镜像名称
docker save -o diytomcat_save.tar diytomcat
使用docker load命令解压已有压缩包为镜像
docker load -i diytomcat_save.tar