Dockerfile构建过程解析

centos7的Dockerfile

FROM scratch
ADD centos-7-docker.tar.xz /

LABEL org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20181006"

CMD ["/bin/bash"]

Dockerfile基础知识

  1. 每条保留字指令都必须为大写字母,且后面至少要跟随一个参数;
  2. 指令按照从上到下顺序执行;
  3. #表示注释;
  4. 每条指令都会创建一个新的镜像层,并对镜像进行提交;

Dockerfile执行流程

  1. docker从基础镜像运行一个容器;
  2. 执行一条指令并对容器进行修改;
  3. 执行类似docker commit的操作提交一个新的镜像层;
  4. docker再基于刚提交的镜像运行一个新的容器;
  5. 执行Dockerfile中的下一条指令直到所有的指令执行完毕;

Dockerfile、Docker镜像和Docker容器关系

从应用软件的角度来看,Dockerfile、Docker和Docker容器分别代表软件的三个不同阶段,

  • Dockerfile是软件的原材料
  • Docker镜像是软件的交付品
  • Docker容器是软件的运行态
    Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基础
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/XU906722/article/details/83042003