docker buildx imagetools create
說明 | 基於來源映像檔建立新的映像檔 |
---|---|
用法 | docker buildx imagetools create [選項] [來源] [來源...] |
說明
基於來源 manifests 建立新的 manifest 清單。來源 manifests 可以是 manifest 清單或單一平台發佈 manifests,並且必須已存在於建立新 manifest 的登錄檔中。
如果只指定一個來源,且該來源是 manifest 清單或映像檔索引,則 create 會執行完全複製。如果指定一個來源,且該來源*不是*清單或索引,則輸出將是 manifest 清單,但是您可以使用 `--prefer-index=false` 禁用此行為,這會嘗試在輸出中保留來源 manifest 格式。
選項
選項 | 預設值 | 說明 |
---|---|---|
--annotation | 新增註釋到映像檔 | |
--append | 附加到現有的 manifest | |
--dry-run | 顯示最終映像檔,而不是推送 | |
-f, --file | 從檔案讀取來源描述符 | |
--prefer-index | true | 當只指定單一來源時,優先輸出映像檔索引或 manifest 清單,而不是執行完全複製 |
--progress | auto | 設定進度輸出的類型(`auto`、`plain`、`tty`、`rawjson`)。使用 plain 來顯示容器輸出 |
-t, --tag | 設定新映像檔的參考 |
範例
新增註釋到映像檔 (--annotation)
`--annotation` 標誌允許您在建立新映像檔時將註釋新增到映像檔索引、manifest 和描述符。
以下命令建立一個 `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
它不支援註釋 manifests 或 OCI layouts。
如需關於註釋的更多資訊,請參閱註釋。
將新的來源附加至現有的 Manifest 清單 (--append)
使用 --append
旗標,將新的來源附加至目的地中現有的 Manifest 清單。
覆寫已設定的 builder 實例 (--builder)
與 buildx --builder
相同。
顯示最終映像檔,而不是推送 (--dry-run)
使用 --dry-run
旗標,不要推送映像檔,只顯示它。
從檔案讀取來源描述元 (-f, --file)
-f FILE or --file FILE
從檔案讀取來源。來源可以是 Manifest 摘要、Manifest 參考或 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
如果檔案中的描述元與 registry 中的現有描述元存在,則會將它們合併。
描述元支援的欄位定義於 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