构建镜像以创建构建缓存
在本步骤中,我们将构建一个简单的 Docker 镜像来创建一些构建缓存。Docker 构建缓存是一种通过复用先前构建的镜像层来加速构建过程的机制。当你构建 Docker 镜像时,Dockerfile 中的每条指令都会创建一个镜像层。如果某条指令自上次构建后未发生变化,Docker 就可以复用现有镜像层而无需重新构建。
首先,我们为项目创建目录并进入该目录:
mkdir ~/project/docker-cache-demo
cd ~/project/docker-cache-demo
现在创建一个简单的 Dockerfile,该文件会将一个文件复制到镜像中并执行命令:
nano Dockerfile
在 Dockerfile
中添加以下内容:
FROM ubuntu:latest
COPY . /app
RUN echo "Hello, Docker Cache!" > /app/message.txt
CMD ["cat", "/app/message.txt"]
保存并关闭文件。
接着创建一个将被复制到镜像中的简单文件:
nano message.txt
在 message.txt
中添加以下内容:
This is a test message.
保存并关闭文件。
现在我们将构建 Docker 镜像,并将镜像标记为 cache-demo
:
docker build -t cache-demo .
你将看到输出显示 Docker 正在逐步构建镜像,每个步骤对应 Dockerfile 中的一条指令。如果本地不存在 ubuntu:latest
镜像,Docker 会先下载该镜像,然后复制 message.txt
文件并执行 echo
命令。
构建完成后,可以通过列出可用镜像来验证镜像是否创建成功:
docker images
你应该能在镜像列表中看到 cache-demo
。
现在,在不修改 Dockerfile 或 message.txt
的情况下再次构建镜像:
docker build -t cache-demo .
这次你会发现构建过程快得多。由于 Dockerfile 中的指令和 message.txt
的内容都没有变化,Docker 复用了先前构建的镜像层。输出中大部分步骤会显示 "Using cache",这演示了 Docker 构建缓存如何加速后续构建过程。