亚马逊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
和 的可用 CSV 参数--cache-from
。
姓名 | 选项 | 类型 | 默认 | 描述 |
---|---|---|---|---|
region | cache-to ,cache-from | 细绳 | 必需的。地理位置。 | |
bucket | cache-to ,cache-from | 细绳 | 必需的。 S3 存储桶的名称。 | |
name | cache-to ,cache-from | 细绳 | 缓存图像的名称。 | |
endpoint_url | cache-to ,cache-from | 细绳 | S3 存储桶的端点。 | |
blobs_prefix | cache-to ,cache-from | 细绳 | 添加到 blob 文件名前面的前缀。 | |
manifests_prefix | cache-to ,cache-from | 细绳 | 添加到清单文件名前面的前缀。 | |
use_path_style | cache-to ,cache-from | 布尔值 | false | 当 时,在 URL 中true 使用 ,而不是主机名。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。