OCI 和 Docker 导出器
目录
oci
导出器将构建结果输出到 OCI 镜像布局 的 tarball 文件中。docker
导出器的行为方式相同,只是它导出的是 Docker 镜像布局。
docker
驱动程序 不支持这些导出器。如果要生成这些输出,必须使用 docker-container
或其他驱动程序。
概要
使用 oci
和 docker
导出器构建容器镜像
$ docker buildx build --output type=oci[,parameters] .
$ docker buildx build --output type=docker[,parameters] .
下表描述了可用参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | 字符串 | 指定镜像名称 | |
dest | 字符串 | 路径 | |
tar | true ,false | true | 将输出捆绑到 tarball 布局中 |
compression | uncompressed ,gzip ,estargz ,zstd | gzip | 压缩类型,参见 压缩 |
compression-level | 0..22 | 压缩级别,参见 压缩 | |
force-compression | true ,false | false | 强制应用压缩,参见 压缩 |
oci-mediatypes | true ,false | 在导出器清单中使用 OCI 媒体类型。对于 type=oci ,默认为 true ;对于 type=docker ,默认为 false 。参见 OCI 媒体类型 | |
annotation.<key> | 字符串 | 使用相应的 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 文档。
进一步阅读
有关 oci
或 docker
导出器的更多信息,请参见 BuildKit README。