Dockerfile
构建过程
- 从基础镜像1运行一个容器
A
- 遇到一条
Dockerfile
指令,都对容器A
做一次修改操作 - 执行完毕一条命令,提交生成一个新镜像2
- 再基于新的镜像2运行一个容器
B
- 遇到一条
Dockerfile
指令,都对容器B
做一次修改操作 - 执行完毕一条命令,提交生成一个新镜像3
- …
构建过程镜像介绍
- 构建过程中,创建了很多镜像,这些中间镜像,我们可以直接使用来启动容器,通过查看容器效果,从侧面能看到我们每次构建的效果。
- 提供了镜像调试的能力
- 我们可以通过
docker history <镜像名>
来查看整个构建过程所产生的镜像
构建缓存
我们第一次构建很慢,之后的构建都会很快,因为他们用到了构建的缓存。
不使用构建缓存方法常见两种:
- 全部不用缓存:
docker build --no-cache -t [镜像名]:[镜像版本] [Dockerfile位置]
- 部分使用缓存:
ENV REFRESH_DATE 2018-01-12
只要构建的缓存时间不变,那么就用缓存,如果时间一旦改变,就不用缓存了。
样例:
# 构建一个基于ubuntu-base的docker定制镜像
# 基础镜像
FROM ubuntu-base
# 镜像作者
MAINTAINER guiyihushen.lifan 775269525@qq.com
# 创建构建刷新时间
ENV REFRESH_DATE 2018-11-02
# 执行命令
......
构建历史
查看构建过程查看
docker history
清理构建缓存
docker system prune
docker system prune --volumes