1. 准备镜像文件,tomcat,jkd的压缩包

image.png

2. 编写dockerfile文件,官方命名Dockerfile,build会自动寻找这个文件,不需要- f 指定

  1. FROM centos
  2. MAINTAINER lxt<979809782@qq.com>
  3. COPY readme.txt /usr/local/readme.txt
  4. ADD jdk-8u291-linux-x64.tar.gz /usr/local/
  5. ADD apache-tomcat-9.0.46.tar.gz /usr/local/
  6. RUN yum -y install vim
  7. ENV MYPATH /usr/local
  8. WORKDIR $MYPATH
  9. ENV JAVA_HOME /usr/local/jdk1.8.0_291
  10. ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  11. ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.46
  12. ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.46
  13. ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
  14. EXPOSE 8080
  15. CMD /usr/local/apache-tomcat-9.0.46/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.46/bin/logs/catalina.out

3. 构建镜像

  1. docker build -t diytomcat .

image.png

4. 挂载文件,启动容器

  1. [root@lxt test]# docker run -d -p 8080:8080 --name tomcat01 -v /home/test/tomcat/test:/usr/local/apache-tomcat-9.0.46/webapps/test -v /home/test/tomcat/tomcatlogs:/usr/local/apache-tomcat-9.0.46/logs diytomcat
  2. d8ac7a20fe0fce99ac9edc6fb4fb14a58b8c12d14c3e808dd6322553d9aaa355

5. 主机访问成功

image.png

6.发布项目

在本机的挂载目录下新建WEB-INF文件夹,里面写入web.xml,在WEB-INF同一级新建一个index.jsp文件。
image.png
访问成功
image.png

7.给DockerHub发布项目

  1. # 登录账号
  2. docker login
  3. # 推送
  4. docker push 作者/容器名称:版本号

8. 小结

image.png