内联缓存

缓存存储后端是获取外部缓存的最简单方法 并且如果您已经在构建和推送 镜像。inline

内联缓存的缺点是它不能随多阶段构建而扩展 和其他司机一样。它也不提供 output artifacts 和缓存输出。这意味着,如果您使用的是 特别复杂的构建流程,或者不将镜像直接导出到 registry,则可能需要考虑 registry 缓存。

概要

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline \
  --cache-from type=registry,ref=<registry>/<image> .

缓存不支持其他参数。inline

要使用 storage 导出缓存,请传递给选项:inlinetype=inline--cache-to

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline .

或者,您也可以通过设置 build 参数来导出内联缓存,而不是使用标志:BUILDKIT_INLINE_CACHE=1--cache-to

$ docker buildx build --push -t <registry>/<image> \
  --build-arg BUILDKIT_INLINE_CACHE=1 .

要在将来的构建中导入生成的缓存,pass to which 允许您从 Docker 镜像中提取缓存 指定的注册表:type=registry--cache-from

$ docker buildx build --push -t <registry>/<image> \
  --cache-from type=registry,ref=<registry>/<image> .

延伸阅读

有关缓存的介绍,请参阅 Docker 构建缓存

有关缓存后端的更多信息,请参阅 BuildKit README。inline