我想通过以下方式在两台不同的计算机上重用docker映像中的图层:
因此
机器1 :
我构建以下图像:
FROM node:13-slim
COPY package.json package.json
docker build . -t <registry>/test-docker-image:latest
docker push <registry>/test-docker-image:latest
机器2
docker pull <registry>/test-docker-image:latest
如果我在此计算机上运行docker build .
,则不会从提取的图像中重新使用图层。
是否可以重用docker build
中提取的图像中的图层?
类似问题:
GitHub上有以下线程描述了类似的内容,但这描述了docker build
和docker-compose build
之间共享层之间的问题。 https://github.com/docker/compose/issues/883
答案 0 :(得分:0)
要信任不是本地构建的提取图像的各层,您需要-cache-from
,例如:
docker build --cache-from=<registry>/test-docker-image:latest -t newimg:latest .
默认情况下,Docker不会信任拉出的映像,以避免恶意映像声称为您可能构建的映像提供了层,而实际上却在该层中包含了恶意内容。
有关docker build
的参数的更多详细信息,请参见:https://docs.docker.com/engine/reference/commandline/build/