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基础知识
- 每条保留字指令都必须为大写字母,且后面至少要跟随一个参数;
- 指令按照从上到下顺序执行;
- #表示注释;
- 每条指令都会创建一个新的镜像层,并对镜像进行提交;
Dockerfile执行流程
- docker从基础镜像运行一个容器;
- 执行一条指令并对容器进行修改;
- 执行类似docker commit的操作提交一个新的镜像层;
- docker再基于刚提交的镜像运行一个新的容器;
- 执行Dockerfile中的下一条指令直到所有的指令执行完毕;
Dockerfile、Docker镜像和Docker容器关系
从应用软件的角度来看,Dockerfile、Docker和Docker容器分别代表软件的三个不同阶段,
- Dockerfile是软件的原材料
- Docker镜像是软件的交付品
- Docker容器是软件的运行态
Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基础