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