无法共享 docker 个构建之间的图层

Layers between docker builds can't be shared

我想通过以下方式在两台不同的机器上重用 docker 图像中的图层:

因此,

机器 1:

我构建了以下图像:

FROM node:13-slim

COPY package.json package.json

机器 2

如果我 运行 docker build . 在这台机器上,图层不会从拉取的图像中重用。

有没有办法在 docker build 中重复使用拉取图像中的图层?

类似问题:

GitHub 上有以下帖子描述了类似的内容,但这描述了 docker builddocker-compose build 之间共享层之间的问题。 https://github.com/docker/compose/issues/883

要信任非本地构建的拉取镜像的层,您需要 -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/