亚马逊S3缓存

实验性的

这是一个实验性功能。界面和行为不稳定,在未来的版本中可能会发生变化。

缓存存储s3将生成的构建缓存上传到 Amazon S3 文件存储服务 或其他 S3 兼容服务,例如 MinIO

默认驱动程序不支持此缓存存储后端docker。要使用此功能,请使用不同的驱动程序创建一个新的构建器。有关详细信息,请参阅 构建驱动程序。

概要

$ docker buildx build --push -t <user>/<image> \
  --cache-to type=s3,region=<region>,bucket=<bucket>,name=<cache-image>[,parameters...] \
  --cache-from type=s3,region=<region>,bucket=<bucket>,name=<cache-image> .

下表描述了您可以传递到 --cache-to和 的可用 CSV 参数--cache-from

姓名选项类型默认描述
regioncache-to,cache-from细绳必需的。地理位置。
bucketcache-to,cache-from细绳必需的。 S3 存储桶的名称。
namecache-to,cache-from细绳缓存图像的名称。
endpoint_urlcache-to,cache-from细绳S3 存储桶的端点。
blobs_prefixcache-to,cache-from细绳添加到 blob 文件名前面的前缀。
manifests_prefixcache-to,cache-from细绳添加到清单文件名前面的前缀。
use_path_stylecache-to,cache-from布尔值false当 时,在 URL 中true使用 ,而不是主机名。bucket
access_key_idcache-to,cache-from细绳请参阅 身份验证
secret_access_keycache-to,cache-from细绳请参阅 身份验证
session_tokencache-to,cache-from细绳请参阅 身份验证
modecache-tomin,maxmin缓存要导出的图层,请参阅 缓存模式
ignore-errorcache-to布尔值false忽略因缓存导出失败而导致的错误。

验证

Buildx 可以重用现有的 AWS 凭证(使用凭证文件或环境变量进行配置),以将缓存推送和拉取到 S3。或者,您可以使用access_key_idsecret_access_keysession_token属性直接在 CLI 上指定凭据。

有关使用环境变量和凭证文件进行身份验证的详细信息,请参阅 AWS Go SDK,指定凭证。

进一步阅读

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

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