• 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

  • 相关阅读:
    HDU2149-Public Sale
    分页和多条件查询功能
    hdu 4691 最长的共同前缀 后缀数组 +lcp+rmq
    BZOJ 2588 Count on a tree (COT) 是持久的段树
    windows 设置脚本IP
    hdu 4912 Paths on the tree(树链拆分+贪婪)
    分散式-ubuntu12.04安装hadoop1.2.1
    struts详细解释拦截器
    Codeforces 459E Pashmak and Graph(dp+贪婪)
    C#中的数据格式转换 (未完待更新)
  • 原文地址:https://www.cnblogs.com/itommy/p/10644567.html
Copyright © 2020-2023  润新知