Amazon 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--cache-from的可用CSV参数。

名称选项类型默认值描述
区域cache-to,cache-from字符串必需。地理位置。
cache-to,cache-from字符串必需。S3存储桶的名称。
名称cache-to,cache-from字符串缓存镜像的名称。
端点URLcache-to,cache-from字符串S3存储桶的端点。
blobs_prefixcache-to,cache-from字符串要添加到blob文件名之前的首缀。
upload_parallelismcache-to整数4并行上传层的数量。
touch_refreshcache-to时间24小时更新未更改缓存层时间戳的间隔。
manifests_prefixcache-to,cache-from字符串要添加到清单文件名之前的首缀。
use_path_stylecache-to,cache-from布尔值falsetrue时,在URL中使用bucket而不是主机名。
access_key_idcache-to,cache-from字符串参见身份验证
secret_access_keycache-to,cache-from字符串参见身份验证
session_tokencache-to,cache-from字符串参见身份验证
模式cache-tomin,maxmin要导出的缓存层,请参见缓存模式
忽略错误cache-to布尔值false忽略因缓存导出失败引起的错误。

身份验证

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

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

进一步阅读

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

有关s3缓存后端的更多信息,请参见BuildKit自述文件