• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker镜像创建的方法

    1:基于已有镜像创建

    基于已有景象创建主要使用docker commit 命令。实质就是把一个容器里面运行程序以及程序的运行环境打包起来生成新的镜像

    命令格式:docker commit [选项] 容器ID/名称 仓库名称:[标签]

    常用命令选项:

    -m:说明信息
    -a:作者信息
    -p:生成过程中停止容器的运行
    例:
    首先启动一个镜像,在容器里修改,然后将修改的镜像生成新的镜像,需要记住id号

    [root@xyue ~] docker run -d httpd /bin/bash
    5c9edd4c9cc6f069bdc489b084530f450440f28db775f079add9dc191a69043d
    
    [root@xyue ~] docker ps -a
    CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS           PORTS        NAMES
    5c9edd4c9cc6    httpd        "/bin/bash"     7 seconds ago    Exited (0) 5 seconds ago            xenodochial_feynman
    
    [root@xyue ~] docker commit -m "new" -a "docke" 5c9edd4c9cc6 docke:test
    sha256:06c816fc4ae8cea60eb49bcf23fd8803045dfb23561b7f32aeb82b7cbe1109db
    
    [root@xyue ~] docker images | grep docke
    docke        test        06c816fc4ae8    49 seconds ago   178MB
    


    基于本地模板创建

    通过导入操作系统模板文件可以生成新镜像,模板下载地址:

    [root@xyue ~] wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
    
    [root@xyue ~] ls
    anaconda-ks.cfg debian-7.0-x86-minimal.tar.gz debian-7.8-x86-minimal.tar.gz Dockerfile
    
    [root@xyue ~] cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new
    sha256:85b8caea781438cdc433f6fc2f60621e310e7e1706e1e6b29caa8d669dd7f971
    导入成功后会生成镜像ID信息
    
    [root@xyue ~]# docker images | grep new
    daoke        new         85b8caea7814    21 seconds ago   215MB
    
    
    

    基于Dockerfile创建

    建立工作目录

    [root@xyue ~] mkdir /apache
    [root@xyue ~] cd /apache

    创建并编写Dockerfile文件

    [root@xyue apache] vim Dockerfile
    #基于的基础镜像centos
    FROM centos
    #维护该镜像的用户信息
    MAINTAINER The CentOS Project <cloud-ops@centos.org>
    #镜像操作指令安装apache包
    RUN yum -y update          #跟新yum仓库
    RUN yum install -y httpd   #安装apache服务   
    #开启80端口
    EXPOSE 80
    #Simple startup script to avoid some issuse observed with container restart
    #复制网站首页
    ADD index.html /var/www/html/index.html
    #将执行脚本复制到镜像中
    ADD run.sh /run.sh
    RUN chmod 755 /run.sh
    #启动容器时执行脚本
    CMD ["/run.sh"]

    编写执行脚本内容

    [root@xyue apache] vim run.sh
    #!/bin/bash
    rm -rf /run/httpd/*                     #//清楚httpd缓存
    exec /usr/sbin/apachectl -D FOREGROUND  #//启动apache服务

    创建测试页面

    [root@xyue apache]# echo "web test" > index.html
    [root@xyue apache]# cat index.html
    web test
    [root@xyue apache]# ls
    Dockerfile  index.html  run.sh

    注意以上apache文件夹的里面Dockerfile文件用的都是相对路径所以启动脚本和首页必须和Dockerfile在同一文件夹里

    使用Dockerfile生成镜像

    编写完成Dockerfile文件后可以通过docker build命令创建镜像。

    命令格式:docker build [选项] 路径

    常用选项:

    -t:指定镜像的标签信息

    [root@xyue apache] docker build -t httpd:centos .
    ··· 省略
            安装
              过程
                  ···

    使用新的镜像运行容器

    将新生成的镜像加载到容器中运行

    [root@xyue apache]# docker run -d -p 12580:80 httpd:centos
    a38850819054c64f960dadf705912c4b59034b58c5933c3a160a40efaf731f0c
    [root@xyue apache]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                         PORTS                   NAMES
    a38850819054        httpd:centos        "/run.sh"           9 seconds ago       Up 8 seconds

    上一篇:基于Ubuntu 18.04配置固定IP的方法教程
    下一篇:教你使用如何docker部署淘宝rap2服务
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Docker镜像创建的方法 Docker,镜像,创建,的,方法,