1. Dockerfile的构建过程
从基础镜像运行一个容器
FROM image
执行一条指令,对容器做出修改
Dockerfile 命令
对修改过的容器,执行类似docker commit的操作,提交一个新的镜像层
再基于刚提交的镜像层,运行一个新容器
Total download size: 30 M
执行Dockerfile中的下一条指令,直至所有指令执行完毕
2. 查看Dockerfile构建过程的意义
- 使用中间层镜像进行调试,可以查找错误。
每一步的命令执行后,都会显示中间层镜像的状态,这就给了我们调试镜像的机会。
# docker run -it middle-imageID /bin/bash //运行中间层镜像,并查看本步命令的执行结果
- 构建缓存
生成的每一个中间层镜像,都可看做缓存。当再次运行docker build构建镜像时,就会很快,使得构建过程高效。
- 不使用缓存
如构建命令中包含apt-get update时,为了每次构建都更新基础镜像,需要不使用缓存。
# docker build --no-cache // 构建全过程不使用缓存
# ENV REFRESH_DATE 2015-04-02 // 从此条命令(含此命令)开始,不使用缓存
- 查看镜像构建过程
# docker history repository // 查看容器构建过程