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 | string | 指定镜像名称 | |
dest | string | 路径 | |
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 媒体类型。默认情况下,true 对应 type=oci,false 对应 type=docker。参见
OCI 媒体类型 | |
annotation.<key> | string | 将相应的 key 和 value 注解附加到构建的镜像,参见
注解 |
注解
这些导出器支持使用参数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。