镜像和注册表导出器
目录
image
导出器将构建结果输出为容器镜像格式。registry
导出器与此相同,但它通过设置 push=true
自动推送结果。
概要
使用 image
和 registry
导出器构建容器镜像
$ docker buildx build --output type=image[,parameters] .
$ docker buildx build --output type=registry[,parameters] .
下表描述了可以传递给 --output
的 type=image
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | 指定镜像名称 | |
push | true ,false | false | 创建镜像后推送。 |
push-by-digest | true ,false | false | 推送没有名称的镜像。 |
registry.insecure | true ,false | false | 允许推送到不安全的注册表。 |
dangling-name-prefix | <value> | 使用 prefix@<digest> 命名镜像,用于匿名镜像 | |
name-canonical | true ,false | 添加额外的规范名称 name@<digest> | |
compression | uncompressed ,gzip ,estargz ,zstd | gzip | 压缩类型,参见 compression |
compression-level | 0..22 | 压缩级别,参见 compression | |
force-compression | true ,false | false | 强制应用压缩,参见 compression |
rewrite-timestamp | true ,false | false | 将文件时间戳重写为 SOURCE_DATE_EPOCH 值。参见 build reproducibility,了解如何指定 SOURCE_DATE_EPOCH 值。 |
oci-mediatypes | true ,false | false | 在导出器清单中使用 OCI 媒体类型,参见 OCI Media types |
oci-artifact | true ,false | false | 证明格式化为 OCI Artifact,参见 OCI Media types |
unpack | true ,false | false | 创建镜像后解压(与 containerd 一起使用) |
store | true ,false | true | 将结果镜像存储到 worker(例如,containerd)的镜像存储中,并确保镜像在内容存储中拥有所有 blob。如果 worker 没有镜像存储(例如,使用 OCI worker 时),则忽略此项。 |
annotation.<key> | String | 将带有相应 key 和 value 的注解附加到构建的镜像,参见 annotations |
注解
这些导出器支持使用 annotation
参数添加 OCI 注解,后跟使用点符号的注解名称。以下示例设置了 org.opencontainers.image.title
注解
$ docker buildx build \
--output "type=<type>,name=<registry>/<image>,annotation.org.opencontainers.image.title=<title>" .
有关注解的更多信息,请参阅 BuildKit documentation。
进一步阅读
有关 image
或 registry
导出器的更多信息,请参阅 BuildKit README。