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.

名字选择类型违约描述
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布尔false什么时候true使用bucket在 URL 中,而不是主机名中。
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。 或者,您可以使用access_key_id,secret_access_keysession_token属性直接在 CLI 上指定凭证。

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

延伸阅读

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

有关s3cache 后端,请参阅 BuildKit README。