• 使用dockerfile自定义Tomcat镜像


    一:创建目录

    mkdir /root/tomcat

    chmod 777 /root/

    chmod 777 /root/tomcat

    或者chmod -R 777 /root

     这里的无效选项是因为我想递归修改root目录及root目录文件以下的权限

    chmod :-R  递归修改指定目录下所有子目录和文件的权限

     二:将jdk和apache压缩包拷进/root/tomcat

    在/root/tomcat目录下创建文件c.txt和Dockerfile

     三:修改Dockerfile内容

    1. FROM centos:7
    2. MAINTAINER mrzhme<mrzhme@vip.qq.com>
    3. #把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
    4. COPY c.txt /usr/local/cincontainer.txt
    5. #把java与tomcat添加到容器中
    6. ADD jdk-8-linux-x64.tar.gz /usr/local/
    7. ADD apache-tomcat-8.5.40.tar.gz /usr/local/
    8. #安装vim编辑器
    9. RUN yum -y install vim
    10. #设置工作访问时候的WORKDIR路径,登录落脚点
    11. ENV MYPATH /usr/local
    12. WORKDIR $MYPATH
    13. #配置java与tomcat环境变量
    14. ENV JAVA_HOME /usr/local/jdk1.8.0_301
    15. ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    16. ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.40
    17. ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.40
    18. ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    19. #容器运行时监听的端口
    20. EXPOSE 8080
    21. #启动时运行tomcat
    22. # ENTRYPOINT ["/usr/local/apache-tomcat-8.5.40/bin/startup.sh" ]
    23. # CMD ["/usr/local/apache-tomcat-8.5.40/bin/catalina.sh","run"]
    24. CMD /usr/local/apache-tomcat-8.5.40/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.40/bin/logs/catalina.ou

     

     四:构建镜像

    Dockerfile的标准文件名就是Dockerfile,当当前目录下用于构建镜像的Dockerfile的文件名是标准文件名时,可以省略-f+路径。这时Docker会直接读取当前目录下名为Dockerfile的文件进行镜像的构建。

    docker build -t mrlinxitomcat9 .
    

     解决BUG——docker构建镜像时,yum安装卡住

     原因:告警:ip转发功能未打开,网络将无法生效

    1. echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
    2. sysctl -p

     

    docker images

    五:创建容器并启动

    docker run -d -p 8888:8080 --name myt9 -v /root/tomcat/test:/usr/local/apache-tomcat-8.5.40/webapps/test -v /root/tomcat/tomcat9logs/:/usr/local/apache-tomcat-8.5.40/logs --privileged=true mrlinxitomcat9
    

    docker ps

     六:开启防火墙对应端口

    firewall-cmd --permanent --zone=public --add-port=8888/tcp

    七: 测试

    参考文献:

    https://www.cnblogs.com/xiangningdeguang/p/16962137.html

  • 相关阅读:
    python selenium 点击表格中的一系列按钮并输出弹窗内容到csv
    Linux系统Vscode终端中文乱码解决
    Spring Boot 之 Swagger
    数据结构--第八章--图
    web学习笔记(六十六)项目总结
    博客积分规则
    倍福CX9020 Windows CE6.0安装中文字库方法(附字库文件)
    一文了解微分段应用场景与实现机制
    漏刻有时百度地图API实战开发(5)区域限制移动端鬼畜抖动的解决方案
    山东2022中国农民丰收节 国稻种芯:主场活动在禹城举办
  • 原文地址:https://blog.csdn.net/weixin_64033212/article/details/130853669