docker buildx imagetools 创建
描述 | 根据源图像创建新图像 |
---|---|
用法 | docker buildx imagetools create [OPTIONS] [SOURCE] [SOURCE...] |
描述
根据源清单创建新的清单列表。源清单可以是清单列表或单平台分发清单,并且必须已存在于创建新清单的注册表中。如果仅指定一个源,则 create 会执行一份抄送。
选项
选项 | 默认 | 描述 |
---|---|---|
--annotation | 为图像添加注释 | |
--append | 附加到现有清单 | |
--dry-run | 显示最终图像而不是推送 | |
-f, --file | 从文件中读取源描述符 | |
--progress | auto | 设置进度输出的类型(auto 、plain 、tty )。使用 plain 显示容器输出 |
-t, --tag | 设置新图像的参考 |
例子
向图像添加注释(--annotation)
该--annotation
标志允许您在创建新图像时添加图像索引、清单和描述符的注释。
以下命令创建一个foo/bar:latest
图像,并
org.opencontainers.image.authors
在图像索引上添加注释。
$ docker buildx imagetools create \
--annotation "index:org.opencontainers.image.authors=dvdksn" \
--tag foo/bar:latest \
foo/bar:alpha foo/bar:beta foo/bar:gamma
笔记
该
imagetools create
命令支持使用以下类型前缀向图像索引和描述符添加注释:
index:
manifest-descriptor:
它不支持注释清单或 OCI 布局。
有关注释的更多信息,请参阅 注释。
将新源附加到现有清单列表(--append)
使用该--append
标志将新源附加到目标中的现有清单列表中。
覆盖配置的构建器实例(--builder)
与...一样
buildx --builder
。
显示最终图像而不是推送(--dry-run)
使用--dry-run
标志不推送图像,只是显示它。
从文件读取源描述符(-f,--file)
-f FILE or --file FILE
从文件中读取源代码。源可以是清单摘要、清单引用或 OCI 描述符对象的 JSON。
为了定义注释或其他平台属性os.version
,
os.features
您需要将它们添加到以 JSON 编码的 OCI 描述符对象中。
$ docker buildx imagetools inspect --raw alpine | jq '.manifests[0] | .platform."os.version"="10.1"' > descr.json
$ docker buildx imagetools create -f descr.json myuser/image
文件中的描述符将与注册表中现有的描述符(如果存在)合并。
OCI 规范中定义了描述符支持的字段 。
设置新图像的参考(-t,--tag)
-t IMAGE or --tag IMAGE
使用-t
或--tag
标志设置要创建的图像的名称。
$ docker buildx imagetools create --dry-run alpine@sha256:5c40b3c27b9f13c873fefb2139765c56ce97fd50230f1f2d5c91e55dec171907 sha256:c4ba6347b0e4258ce6a6de2401619316f982b7bcc529f73d2a410d0097730204
$ docker buildx imagetools create -t tonistiigi/myapp -f image1 -f image2