我想通过以下方式在两台不同的计算机上重用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
要信任不是本地构建的提取图像的层,您需要-cache-from
,例如:
docker build --cache-from=<registry>/test-docker-image:latest -t newimg:latest .
默认情况下,Docker不会信任拉出的图像,以避免恶意图像声称为您可能生成的图像提供了层,而实际上却在该层中包含了恶意内容。