1. 程式人生 > >docker鏡像制作、壓縮及鏡像加載

docker鏡像制作、壓縮及鏡像加載

-- 版本 color pytho 方式 system core size cto

docker鏡像制作、壓縮及鏡像加載

  1. 系統環境
    #cat /etc/redhat-release
    CentOS Linux release 7.3.1611 (Core)
  2. 編寫Dockerfile文件
    FROM centos:7.2.1511
    ##作者標簽,聯系方式
    LABEL maintainer "[email protected]"
    ##環境變量硬編碼及時區
    ENV ENVIRONMENT production
    RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ##yum 基礎工具,記住clean
    RUN yum clean all && yum makecache && yum install -y wget gcc gcc-c++ python-devel bzip2 && yum clean all
    COPY docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm /usr/local/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
    ##docker 基礎工具及版本
    RUN cd /usr/local && yum install -y docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
    COPY docker.txt  /tmp/docker.txt
    ##鏡像啟動命令 
    CMD ["systemctl","start","docker"]
  3. 文件目錄路徑

    #pwd    
    /root/dockerfile
    說明:上面是當前文件路徑,目錄內容如下:
    #ls
    docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm 
    docker.txt
    Dockerfile
    docker_shell.sh
    ##docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm、Dockerfile、docker_shell.sh,docker.txt在同一個目錄下!
    docker.txt的內容:
    #cat docker.txt
    this is a test
  4. 編寫腳本docker_shell.sh
    #cat docker_shell.sh
    TIMENOW=`date +%y.%m.%d.%H%M`
    ##-f 指定文件 , -t 指定生成鏡像名稱 , 冒號後為版本號 , 例子 : ##docker_image:17.08.01.1311
    docker build -f Dockerfile -t docker_image:${TIMENOW} .
  5. 執行docker_shell.sh
    #sh docker_shell.sh

    技術分享圖片

  6. 查看鏡像
    #docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker_image        18.01.14.1702       d227774c2960        23 minutes ago      588MB
  7. 鏡像壓縮與打包
    #docker save d227774c2960 |gzip>docker_file.tgz
    #ls
    docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm 
    docker_file.tgz 
    docker.txt
    Dockerfile
    docker_shell.sh
  8. 鏡像導入
    ##把docker裏原有docker_image鏡像刪除,導入壓縮打包後的鏡像
    #docker rmi d227774c2960
    #docker images|grep docker_image
    #docker load < docker_file.tgz 
  9. 啟動鏡像
    ##鏡像名字是wtf_shiyan
    #docker run -itd --name=wtf_shiyan 34b5ef62c921
    #docker exec -it wtf_shiyan /bin/bash

docker鏡像制作、壓縮及鏡像加載