zoukankan      html  css  js  c++  java
  • Docker 下自定义安装 Tomcat

    服务器环境建好以后,如果要扩展,只需要执行(详细命令到下文中找)
    docker run .....
    发完版本需要重启服务,执行(详细命令到下文中找)
    docker restart [容器的ID]

    将文件传到 tomcat 下,可参考  Docker cp 将宿主机上的文件复制到容器中


    准备文件

    apache-tomcat-9.0.31.tar.gz

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


     CentOS上安装Docker。

    1.检查内核版本,返回的值大于3.10即可。、
    $ uname -r

    安装 Docker 

    yum -y install docker


    将tomcat 、jdk 传到 /usr/local/docker目录中

     在java、jdk同级目录下,创建 Dockerfile 文件,文件名不能错,否则后面 build 会检测不到

    [root@localhost ~]# cd /usr/local/docker/

    [root@localhost docker]# touch Dockerfile 

    Dockerfile 文件内容如下

    FROM         centos
    MAINTAINER    ChenJun
    #把java与tomcat添加到容器中
    ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/
    ADD ./apache-tomcat-9.0.31.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_191
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31
    ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.31
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    #容器运行时监听的端口
    EXPOSE  8080
    #启动时运行tomcat
    # ENTRYPOINT ["/usr/local/apache-tomcat-9.0.31/bin/startup.sh" ]
    # CMD ["/usr/local/apache-tomcat-9.0.31/bin/catalina.sh","run"]
    CMD /usr/local/apache-tomcat-9.0.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.31/bin/logs/catalina.out

    构建

    #点表示当前目录 ,也可以直接指定  docker build -t tomcat9 /usr/local/docker

    [root@localhost docker]# docker build -t tomcat9 . 

     如果显示超时,可以重启一下 systemctl restart docker

     构建成功后,如处图 

    启动docker 加上 webapp、logs目录映射

    [root@localhost web]# docker run -d -p 9091:8080 --name tomcat9091 -v /opt/web/tomcat9091/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9091/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9
    
    [root@localhost web]# docker run -d -p 9092:8080 --name tomcat9092 -v /opt/web/tomcat9092/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9092/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9

    创建映射后,会自动的在 宿主机上建立相应的目录(tomcat webapps下面原有的目录不会映射过来,不知道为什么,通过 docker exec ... 进去看的时候,容器webapps里面也没有文件

     

     测试Tomcat

    建个测试的war包

     war 包上传到 9091下面,如果不加 test是不会显示的。默认带小猫的页面,不在本地的 webapps下面

     

     

     有时候war包放上去,需要重新服务。这时候可以用命令重启

    docker restart [容器的ID]

     查看容器中的内容

    [root@localhost docker]# docker exec 07de30dd6e3c ls -l

  • 相关阅读:
    概率期望训练之五
    概率期望训练之四
    JavaScript Source Map详解
    JSON.parse、JSON.stringify
    Linux cp命令直接覆盖不提示方法
    Service Worker
    HTML5 应用程序缓存
    二分图
    Tarjan
    FFT迭代加深 & NTT 多项式求逆
  • 原文地址:https://www.cnblogs.com/vipsoft/p/12448719.html
Copyright © 2011-2022 走看看