zoukankan      html  css  js  c++  java
  • Dockerfile构建镜像

    在之前搭建Docker镜像实战的基础上,我们可以使用Dockerfile快速地构建镜像,这里会用到之前构建好的tomcat-test:v1镜像,当然我们这里只是demo,最好安装好各种开发环境需要用到的软件,使用的时候只要起一个容器就开始了,不同服务器或者不同容器的开发环境都是一样的。

    接下来开始使用Dockerfile构建镜像:

    1. 建目录:

        mkdir tomcat-docker ; cd tomcat-docker;

    2. 创建两个重要的文件(Dockerfile告诉docker怎么制作一个镜像, start.sh是启动脚本):

        touch Dockerfile start.sh

    3. 将需要启动的services写入start.sh,然后在最后加上"/bin/bash".

    安装的服务多的话(以下的services都是yum安装的):

    #!/bin/bash
    service nginx start
    service mysql start
    service mongodb start
    service redis-server start
    /bin/bash                   # 最后这行千万不要漏

    只启动tomcat的脚本(.tar.gz解压的,用yum安装的话,使用service tomcat start ):

    #!/bin/bash
    /opt/soft/tomcat/apache-tomcat-8.5.24/bin/startup.sh
    /bin/bash                   # 最后这行千万不要漏

    4. 编写Dockerfile文件

    FROM tomcat-test:v2
    ADD start.sh /usr/local/start.sh
    RUN chmod +x /usr/local/start.sh
    EXPOSE 8080
    CMD ["/usr/local/start.sh"]

    5. 制作新的镜像

        docker build -t tomcat-test:v2 . 

        也可以指定路径:

            docker build -t tomcat-test:v2 /opt/soft/tomcat-docker/Dockerfile .

        执行build会有Step1,Step2等等一些步骤,稍等一会,如果看到Successfully built xxxxxx那就证明创建镜像成功了。

    6. 本地镜像列表就会出现了docker images

    7. 可以创建并跑起容器,通过镜像中添加的脚本运行tomcat

        docker run -d -p 8080:8080 tomcat-test:v1 /usr/local/start.sh

        使用attach进入容器,确认应该运行的程序是否正常运行,容器内使用ps aux查看运行中的程序;(这里是访问localhost:8080是否可以)。

    8. docker导出成tar包,在不同机器之间拷贝、导入然后开发了;

    参考:

    http://www.cnblogs.com/llhf/p/5149378.html

    http://www.jianshu.com/p/369e75f6303b

    详细的Dockerfile指令介绍,也可以看《Spring Cloud与Docker微服务架构实战》:

    http://www.jianshu.com/p/cbce69c7a52f

  • 相关阅读:
    Ubuntu中pip的疑难杂症
    Python 分类方法记录
    Python 绘制热图
    脚本学习
    Ubuntu 基础使用教程
    机器学习各种相似性度量及Python实现
    Ubuntu 16.04安装R及Rstudio
    机器学习和数据挖掘领域大牛
    vux+vue-cli3.0坑
    函数的抖动以及节流
  • 原文地址:https://www.cnblogs.com/itommy/p/10644567.html
Copyright © 2011-2022 走看看