美文网首页
dockerflie构建jdk的tomcat镜像

dockerflie构建jdk的tomcat镜像

作者: Chaweys | 来源:发表于2021-07-14 23:40 被阅读0次

    1、dockerfile内容:
    #this is dockerfile
    FROM centos:7
    ADD jdk-8u211-linux-x64.tar.gz /usr/local
    RUN mv /usr/local/jdk1.8.0_211 /usr/local/jdk
    ENV JAVA_HOME=/usr/local/jdk 
    ENV JRE_HOME=$JAVA_HOME/jre 
    ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 
    ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    ADD apache-tomcat-8.5.35.tar.gz  /usr/local
    RUN mv /usr/local/apache-tomcat-8.5.35  /usr/local/tomcat
    #ENTRYPOINT ["/usr/local/tomcat/bin/startup.sh"]
    EXPOSE 8080
    ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
    
    
    【注】:
    (1)、不能使用startup.sh在容器层面启动ENTRYPOINT ["/usr/local/tomcat/bin/startup.sh"],原因是startup.sh脚本是后台启动tomcat程序,这会导致容器直接启动失败。
    可换成catalina.sh启动-前台启动(启动日志打印再控制台的方式)。
    (2)、要暴露端口,否则宿主机外层无法连接服务
    
    
    
    2、启动该tomcat镜像生成一个容器:
    docker run -itd -p 8080:8080 -v /data/hudechao/ROOT:/usr/local/tomcat/webapps/ROOT mycentos:jdk /bin/bash
    
    如果启动报错:说明是本地防火墙关闭导致,暂时解决方案,开启防火墙
    (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.
    
    -p 8080:8080  端口映射,将容器的8080端口映射给宿主机的8080端口
    -v 将宿主机的路径/data/hudechao/ROOT挂载到容器的/usr/local/tomcat/webapps/ROOT路径下,即容器的该路径就可使用宿主机的路径下的磁盘空间和内容
    
    
    3、举例
    /data/hudechao/ROOT路径下创建文件index.html
    内容:
    hello word~!
    
    
    4、浏览器访问:http://:localhost:8080
    结果:页面显示:hello word~!
    

    相关文章

      网友评论

          本文标题:dockerflie构建jdk的tomcat镜像

          本文链接:https://www.haomeiwen.com/subject/blxepltx.html