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附加注释到构建的镜像,请参见注释 |
注释
这些导出器支持使用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自述文件。