步骤:

    1. 建立tomcat目录
    2. 在上述目录下新建c.txt文件
    3. 将jdk和tomcat安装的压缩包拷贝到目录下
    4. 在目录下新建DockerFile文件并编写内容
    5. 构建镜像
    6. 运行容器
    7. 验证tomcat9
    8. 结合前述的容器数据局安测试web服务、发布
    1. [linguo@VM-4-6-centos ~]$ mkdir docker_tomcat9
    2. [linguo@VM-4-6-centos docker_tomcat9]$ touch c.txt
    3. [linguo@VM-4-6-centos docker_tomcat9]$ ll
    4. -rw-rw-r-- 1 linguo linguo 11560971 Apr 19 23:42 apache-tomcat-9.0.62.tar.gz
    5. -rw-rw-r-- 1 linguo linguo 0 Apr 19 23:14 c.txt
    6. -rw-rw-r-- 1 linguo linguo 148003999 Apr 20 00:24 jdk-8u331-linux-x64.tar.gz
    7. [linguo@VM-4-6-centos docker_tomcat9]$ vim Dockerfile
    8. FROM centos:7
    9. MAINTAINER linguo<ljb13127893819@163.com>
    10. #把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
    11. COPY c.txt /usr/local/cincontainer.txt
    12. #把java和tomcat添加到容器中
    13. ADD jdk-8u331-linux-x64.tar.gz /usr/local/
    14. ADD apache-tomcat-9.0.62.tar.gz /usr/local/
    15. #安装vim编辑器
    16. RUN yum -y install vim
    17. #设置工作访问时候的WORKDIR路径,登录的落脚点
    18. ENV MYPATH /usr/local
    19. WORKDIR $MYPATH
    20. #配置java与tomcat的环境变量
    21. ENV JAVA_HOME /usr/local/jdk1.8.0_331
    22. ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    23. ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.62
    24. ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.62
    25. ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    26. #容器运行时监听的端口
    27. EXPOSE 8080
    28. #启动时运行tomcat
    29. # ENTRYPOINT ["/usr/local/tomcat-9.0-doc/bin/startup.sh"]
    30. # CMD ["/usr/local/tomcat-9.0-doc/bin/startup.sh","run"]
    31. CMD /usr/local/apache-tomcat-9.0.62/bin/startup.sh && tail -f /usr/local/apache-tomcat-9.0.62/logs/catalina.out
    32. [linguo@VM-4-6-centos docker_tomcat9]$ ll
    33. total 84028
    34. -rw-rw-r-- 1 linguo linguo 11560971 Apr 19 23:42 apache-tomcat-9.0.62.tar.gz
    35. -rw-rw-r-- 1 linguo linguo 0 Apr 19 23:14 c.txt
    36. -rw-rw-r-- 1 linguo linguo 907 Apr 19 23:44 Dockerfile
    37. -rw-rw-r-- 1 linguo linguo 74472420 Apr 19 23:29 jdk-8u321-linux-aarch64.tar.gz
    38. [linguo@VM-4-6-centos docker_tomcat9]$ docker build -t tomcat9:2.0.
    39. [linguo@VM-4-6-centos docker_tomcat9]$ docker images
    40. REPOSITORY TAG IMAGE ID CREATED SIZE
    41. tomcat9 2.0 2a7f0f52a208 5 minutes ago 810MB
    42. [linguo@VM-4-6-centos docker_tomcat9]$ docker run -d -p 9080:8080 -v /home/linguo/docker_tomcat9/volume/test:/usr/local/apache-tomcat-9.0.62/webapps/test -v /home/linguo/docker_tomcat9/volume/logs:/usr/local/apache-tomcat-9.0.62/logs --privileged=true 2a7f0f52a208
    43. [linguo@VM-4-6-centos docker_tomcat9]$ docker ps
    44. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    45. 73d597d4a22e 2a7f0f52a208 "/bin/sh -c '/usr/lo…" 2 minutes ago Up 2 minutes 0.0.0.0:9080->8080/tcp, :::9080->8080/tcp dazzling_agnesi
    46. [linguo@VM-4-6-centos volume]$ docker exec 73d597d4a22e java -version
    47. java version "1.8.0_331"
    48. Java(TM) SE Runtime Environment (build 1.8.0_331-b09)
    49. Java HotSpot(TM) 64-Bit Server VM (build 25.331-b09, mixed mode)

    验证宿主机的9080端口是否可以访问到tomcat即可。

    步骤8:
    验证数据卷容器是否生效,在目录下查看tomcat日志是否已经同步、发布jsp文件实验