亚马逊 S3 缓存

受限

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

s3 缓存存储将生成的构建缓存上传到 亚马逊 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参数。

名称选项类型默认描述
regioncache-to,cache-fromstring必需。地理位置。
bucketcache-to,cache-fromstring必需。S3 存储桶的名称。
namecache-to,cache-fromstring缓存镜像的名称。
endpoint_urlcache-to,cache-fromstringS3 存储桶的端点。
blobs_prefixcache-to,cache-fromstring用于在 blob 文件名前添加的前缀。
upload_parallelismcache-to整数4并行上传的层数。
touch_refreshcache-to时间24h更新未更改的缓存层时间戳的间隔。
manifests_prefixcache-to,cache-fromstring用于在清单文件名前添加的前缀。
use_path_stylecache-to,cache-from布尔值falsetrue时,在URL中使用bucket代替主机名。
access_key_idcache-to,cache-fromstringSee authentication.
secret_access_keycache-to,cache-fromstringSee authentication.
session_tokencache-to,cache-fromstringSee authentication.
modecache-tomin,maxmin导出的缓存层,请参阅 缓存模式
ignore-errorcache-to布尔值false忽略由缓存导出失败引起的错误。

认证

Buildx 可以重用现有的 AWS 凭据,通过凭据文件或环境变量进行配置,用于将缓存推送到 S3 或从中拉取。 或者,您可以使用 access_key_idsecret_access_keysession_token 属性在命令行界面直接指定凭据。

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

进一步阅读

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

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