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 参数。

名称选项类型默认值描述
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-toInteger4并行上传的层数。
touch_refreshcache-toTime24h更新未更改缓存层时间戳的间隔。
manifests_prefixcache-to,cache-fromString添加到清单文件名前缀。
use_path_stylecache-to,cache-fromBooleanfalse当为 true 时,在 URL 中使用 bucket 而不是主机名。
access_key_idcache-to,cache-fromString请参阅身份验证
secret_access_keycache-to,cache-fromString请参阅身份验证
session_tokencache-to,cache-fromString请参阅身份验证
modecache-tomin,maxmin要导出的缓存层,请参阅缓存模式
ignore-errorcache-toBooleanfalse忽略因缓存导出失败导致的错误。

认证

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

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

进一步阅读

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

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

页面选项