Amazon S3 缓存

限制

这是一项实验性功能。界面和行为不稳定,并且 在未来版本中可能会更改。

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

默认驱动程序不支持此缓存存储后端。 要使用此功能,请使用其他驱动程序创建新的构建器。有关更多信息,请参阅构建驱动程序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> .

下表描述了您可以传递给 和 的可用 CSV 参数。--cache-to--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 文件名前面的前缀。
upload_parallelismcache-to整数4并行层上传的数量。
touch_refreshcache-to时间24h更新未更改缓存层的时间戳的间隔。
manifests_prefixcache-to,cache-from字符串用于 manifest 文件名前面的前缀。
use_path_stylecache-to,cache-from布尔falseWhen ,在 URL 中使用 ,而不是 hostname。truebucket
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 凭证,这些凭证使用 credentials 文件或环境变量,用于将缓存推送和拉取到 S3。 或者,您也可以使用 、 和 属性直接在 CLI 上指定凭证。access_key_idsecret_access_keysession_token

请参阅 AWS Go 开发工具包,指定凭证,以了解有关 使用环境变量和凭证文件的身份验证。

延伸阅读

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

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