镜像和注册表导出器

导出器将构建结果输出为容器镜像格式。导出器是相同的,但它会自动将结果推送 设置。imageregistrypush=true

概要

使用 和 exporters 构建容器镜像:imageregistry

$ docker buildx build --output type=image[,parameters] .
$ docker buildx build --output type=registry[,parameters] .

下表描述了您可以传递给 for 的可用参数:--outputtype=image

参数类型违约描述
name字符串指定镜像名称
pushtrue,falsefalse创建镜像后推送。
push-by-digesttrue,falsefalse推送不带名称的镜像。
registry.insecuretrue,falsefalse允许推送到不安全的注册表。
dangling-name-prefix<value>名称镜像与 ,用于匿名镜像prefix@<digest>
name-canonicaltrue,false添加其他规范名称name@<digest>
compressionuncompressed,,,gzipestargzzstdgzip压缩类型,请参阅压缩
compression-level0..22压缩级别,请参阅 压缩
force-compressiontrue,falsefalse强制应用压缩,请参阅压缩
rewrite-timestamptrue,falsefalse将文件时间戳重写为该值。有关如何指定该值的信息,请参阅构建重现性SOURCE_DATE_EPOCHSOURCE_DATE_EPOCH
oci-mediatypestrue,falsefalse在导出程序清单中使用 OCI 媒体类型,请参阅 OCI 媒体类型
unpacktrue,falsefalse创建后解压缩镜像(用于 containerd)
storetrue,falsetrue将结果镜像存储到工作程序(例如 containerd)的镜像存储中,并确保镜像在 Content Store 中包含所有 blob。如果工作程序没有镜像存储(例如,使用 OCI 工作程序时),则忽略。
annotation.<key>字符串将注释与相应的 和 附加到构建的镜像,请参阅注释keyvalue

附注

这些导出程序支持使用参数 OCI 注释 后跟使用点表示法的注释名称。以下示例将 注释:annotationorg.opencontainers.image.title

$ docker buildx build \
    --output "type=<type>,name=<registry>/<image>,annotation.org.opencontainers.image.title=<title>" .

有关注释的更多信息,请参阅 BuildKit 文档

延伸阅读

有关 or 导出器的更多信息,请参阅 BuildKit README。imageregistry