OCI 和 Docker 导出器

oci 导出器将构建结果输出为 OCI 镜像布局 tarball。docker 导出器行为相同,但它导出的是 Docker 镜像布局。

docker 驱动程序不支持这些导出器。如果你想生成这些输出,必须使用 docker-container 或其他驱动程序。

概要

使用 ocidocker 导出器构建容器镜像

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

下表描述了可用的参数

参数类型默认值描述
name字符串指定镜像名称
dest字符串路径
tartrue,falsetrue将输出捆绑到 tarball 布局中
compressionuncompressed,gzip,estargz,zstdgzip压缩类型,请参阅 压缩
compression-level0..22压缩级别,请参阅 压缩
force-compressiontrue,falsefalse强制应用压缩,请参阅 压缩
oci-mediatypestrue,false在导出器清单中使用 OCI 媒体类型。对于 type=oci 默认为 true,对于 type=docker 默认为 false。请参阅 OCI 媒体类型
annotation.<key>字符串使用相应的 keyvalue 为构建的镜像附加注解,请参阅 注解

注解

这些导出器支持使用 annotation 参数添加 OCI 注解,后跟使用点符号的注解名称。以下示例设置了 org.opencontainers.image.title 注解

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

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

进一步阅读

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

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.