• 以tomcat镜像为基础部署war包后再做成镜像


    #以交互的方式启动本地的镜像tomcat:hps,并且将本地目录/mnt/iso挂在到容器中的/tmp/repositories目录,方便从本地获取一些安装文件并进行一些操作
    docker run -i -t -v /mnt/iso:/tmp/repositories tomcat:hps /bin/bash

    #进行一些比如安装之类的操作。
    docker ps

    #找到自己正在操作的容器id(例如3bf5491933f2),然后退出交互界面,执行以下命令

    docker commit 3bf5491933f2 tomcat:hps1


    ###此时的容器tomcat:hps1实际上是会加一层/bin/bash的操作,如果直接执行docker run -d -p 8081:8080 tomcat:hps1 不加命令,默认就是提供/bin/bash命令,因此需要在这一层外面再封装一层命令,并将容器内tomcat端口(以下已8080为例)暴露出来,通过Dockerfile方式来实现,文件内容如分割线内所示:

    #----------分割线----------
    # This is a comment
    FROM tomcat:hps1
    # expose httpd port
    EXPOSE 8080
    # the command to run
    CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
    #----------分割线----------
    #然后在Dockerfile文件所在目录下,执行以下命令生成docker镜像:
    docker build -t tomcat:hmr .

    #这时候直接执行以下命令可以验证
    docker run -d -p 8081:8080 tomcat:hmr

    #如果希望将这个tomcat:hmr镜像保存成文件,可以执行:
    docker save -o tomcat_hmr.tar tomcat:hmr

    #这样就可以拷贝到其他服务器上去,然后可以在那台服务器上执行以下命令将镜像加载到本地(而非仓库中):

    docker load -i tomcat_hmr.tar

    ###如果不想再在tomcat:hps1外封装一层,需要执行以下命令才能使用:

    docker run -d -p 8081:8080 tomcat:hps1 /usr/local/tomcat/bin/catalina.sh run

  • 相关阅读:
    Ping
    boost::python开发环境搭建
    mingw和libcurl
    ssh远程执行命令使用明文密码
    netty源码阅读之UnpooledByteBufAllocator
    Direct ByteBuffer学习
    clions的使用
    netty中的PlatformDependent
    STL之priority_queue(优先队列)
    c++线程调用python
  • 原文地址:https://www.cnblogs.com/huangmr0811/p/5570968.html
Copyright © 2020-2023  润新知