docker buildx imagetools create

描述基於源映象建立新映象
用法docker buildx imagetools create [OPTIONS] [SOURCE...]

描述

基於源清單建立新的清單列表。源清單可以是清單列表或單平臺分發清單,並且必須已存在於建立新清單的登錄檔中。

如果只指定一個源,並且該源是清單列表或映象索引,則 create 執行碳複製。如果指定一個源,並且該源**不是**列表或索引,則輸出將是一個清單列表,但是您可以使用 --prefer-index=false 停用此行為,它會嘗試在輸出中保留源清單格式。

選項

選項預設值描述
--annotation向映象添加註解
--append附加到現有清單
--dry-run顯示最終映象而不是推送
-f, --file從檔案中讀取源描述符
--prefer-indextrue當只指定一個源時,優先輸出映象索引或清單列表,而不是執行碳複製
--progressauto設定進度輸出型別(`auto`、`plain`、`tty`、`rawjson`)。使用 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.versionos.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