zoukankan      html  css  js  c++  java
  • Docker搭建tomcat运行环境(修改镜像方式)

      对于java程序员来说,要想使用Docker来部署你的应用,那么在镜像中安装类似于tomcat的容器基本上是必须的(sprintboot项目除外),本篇介绍自己基于对centos镜像的修改,创建自己的想要的tomcat运行环境镜像的过程。

      1、拉取centos镜像 docker pull centos

      2、在宿主机(即你的linux机)穿件/opt/software目录,把要用到的安装包放在里面

      

      3、启动centos容器    docker run -i -t -v /opt/software/:/mnt/software/ --privileged=true 5182e96772bf /bin/bash,

    • -i:表示以“交互模式”运行容器

    • -t:表示容器启动后会进入其命令行

    • -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

    • --privileged=true 不加在容器内部可能会提示操作权限问题
    • 5182e96772bf是centos镜像的id

      本例中,所有安装程序都放在了宿主机的/opt/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示启动后直接进入bash shell。

      4、安装软件

      cd /mnt/software,可以看到我们提前放置好的安装包

      jdk安装:tar -zxf /mnt/software/jdk-8u152-linux-x64.tar.gz -C /opt

      tomcat安装:tar -zxf /mnt/software/apache-tomcat-8.0.53.tar.gz -C /opt

      5、编写运行脚本

      touch /root/run.sh

      vi /root/run.sh

      编辑如下内容到脚本中

    #!/bin/bash
      
    export JAVA_HOME=/opt/jdk1.8.0_152/
    export PATH=$JAVA_HOME/bin:$PATH
      
    sh /opt/apache-tomcat-8.0.53/bin/catalina.sh run

      为运行脚本添加执行权限: chmod u+x /root/run.sh

      6、退出容器,创建新镜像 

      以上步骤完成后,输入exit退出容器,docker ps -a,可以看到刚刚修改好的容器,记住容器id

      使用以下命令,根据某个“容器 ID”来创建一个新的镜像 docker commit containerID mytomcat:1.0

      创建完成后输入 docker images,可以看到我们修改后的镜像

      7、根据我们创建的tomcat镜像,启动对应的容器

      docker run -d -p 9999:8080 -v /opt/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

    • -d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。

    • -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 9999 端口,这样就向外界暴露了 9999 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。

    • -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>,我们的web项目的jar可以放在/opt/webapps/下,重启容器,我们的应用就启动起来了

    • --name:表示容器名称,用一个有意义的名称命名即可。

  • 相关阅读:
    C# 16进制字节转Int(涉及:Base64转byte数组)
    c# CRC-16 / MODBUS 校验计算方法 及 异或校验算法
    SqlSugar 用法大全
    SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?
    使用 tabindex 配合 focus-within 巧妙实现父选择器
    DataX 3.0 源码解析一
    Golang必备技巧:接口型函数
    PID控制
    dockerfile,拷贝文件夹到镜像中(不是拷贝文件夹中的内容到镜像)
    什么是PKI?主要作用是什么?
  • 原文地址:https://www.cnblogs.com/hhhshct/p/9629438.html
Copyright © 2011-2022 走看看