zoukankan      html  css  js  c++  java
  • DockerFile自定义镜像Tomcat9

    目录

     

    下载tomcat容器卷

    1、创建文件夹

    2、在上述目录下touch c.txt

    3、将jdk和tomcat安装的压缩包拷贝进上一步目录

    4、在/heian/mydockerfile/tomcat9目录下新建Dockerfile文件

    5、构建

    6、run

    7、验证

    8、结合前述的容器卷将测试的web服务test发布

    总结


    下载tomcat容器卷

    1、创建文件夹

    mkdir -p /heian/mydockerfile/tomcat9

    2、在上述目录下touch c.txt

    touch c.txt

    3、将jdk和tomcat安装的压缩包拷贝进上一步目录

    apache-tomcat-9.0.8.tar.gz

    jdk-8u171-linux-x64.tar.gz

    4、在/heian/mydockerfile/tomcat9目录下新建Dockerfile文件

    FROM         centos
    MAINTAINER    heian<1794748404@126.com>
    #把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
    COPY c.txt /usr/local/cincontainer.txt
    #把java与tomcat添加到容器中
    ADD jdk-8u152-linux-x64.tar.gz /usr/local/
    ADD apache-tomcat-8.5.24.tar.gz /usr/local/
    #安装vim编辑器
    RUN yum -y install vim
    #设置工作访问时候的WORKDIR路径,登录落脚点
    ENV MYPATH /usr/local
    WORKDIR $MYPATH
    #配置java与tomcat环境变量
    ENV JAVA_HOME /usr/local/jdk1.8.0_152
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.24
    ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.24
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    #容器运行时监听的端口
    EXPOSE  8080
    #启动时运行tomcat
    # ENTRYPOINT ["/usr/local/apache-tomcat-8.5.24/bin/startup.sh" ]
    # CMD ["/usr/local/apache-tomcat-8.5.24/bin/catalina.sh","run"]
    CMD /usr/local/apache-tomcat-8.5.24/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.24/bin/logs/catalina.out

    5、构建

    docker build -f Dockerfile -t heiantomcat9 .
    

    构建完成

    6、run

    docker run -d -p 9080:8080 --name myt9 -v /heian/mydockerfile/tomcat9/test:/usr/local/apache-tomcat-9.0.8/webapps/test -v /heian/mydockerfile/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.8/logs --privileged=true heiantomcat9
    

    Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
    解决办法:在挂载目录后多加一个--privileged=true参数即可

    7、验证

    8、结合前述的容器卷将测试的web服务test发布

    a.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
      </head>
      <body>
        -----------welcome------------
        <%="i am in docker tomcat self "%>
        <br>
        <br>
        <% System.out.println("=============docker tomcat self");%>
      </body>
    </html>
    

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      id="WebApp_ID" version="2.5">
      
      <display-name>test</display-name>
     
    </web-app>
    

    测试

    总结

  • 相关阅读:
    前端PC人脸识别登录
    html2canvas 轮播保存每个图片内容
    基于Element的下拉框,多选框的封装
    聊聊 HTTPS
    从 rails 窥探 web 全栈开发(零)
    理解 Angular 服务
    Vue3 与依赖注入
    一次 HTTP 请求就需要一次 TCP 连接吗?
    GO 语言入门(一)
    读 Angular 代码风格指南
  • 原文地址:https://www.cnblogs.com/heian99/p/12146474.html
Copyright © 2011-2022 走看看