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 桶的名称。 | |
name | cache-to,cache-from | 字符串 | 缓存镜像的名称。 | |
endpoint_url | cache-to,cache-from | 字符串 | S3 桶的端点。 | |
blobs_prefix | cache-to,cache-from | 字符串 | 要添加到 blob 文件名前缀。 | |
upload_parallelism | cache-to | 整数 | 4 | 并行层上传的数量。 |
touch_refresh | cache-to | 时间 | 24 小时 | 更新未更改缓存层时间戳的间隔。 |
manifests_prefix | cache-to,cache-from | 字符串 | 要添加到清单文件名前缀。 | |
use_path_style | cache-to,cache-from | 布尔值 | false | 当为 true 时,在 URL 中使用 bucket 而不是主机名。 |
access_key_id | cache-to,cache-from | 字符串 | 请参阅身份验证。 | |
secret_access_key | cache-to,cache-from | 字符串 | 请参阅身份验证。 | |
session_token | cache-to,cache-from | 字符串 | 请参阅身份验证。 | |
mode | cache-to | min,max | min | 要导出的缓存层,请参阅 缓存模式。 |
ignore-error | cache-to | 布尔值 | false | 忽略因缓存导出失败导致的错误。 |
身份验证
Buildx 可以重用现有的 AWS 凭据(通过凭据文件或环境变量配置),用于向 S3 推送和拉取缓存。或者,您可以使用 access_key_id、secret_access_key 和 session_token 属性直接在 CLI 上指定凭据。
有关使用环境变量和凭据文件进行身份验证的详细信息,请参阅 AWS Go SDK,指定凭据。
进一步阅读
有关缓存的介绍,请参阅 Docker 构建缓存。
有关 s3 缓存后端的更多信息,请参阅 BuildKit README。