docker buildx imagetools create
描述 | 基於源映象建立新映象 |
---|---|
用法 | docker buildx imagetools create [OPTIONS] [SOURCE...] |
描述
基於源清單建立新的清單列表。源清單可以是清單列表或單平臺分發清單,並且必須已存在於建立新清單的登錄檔中。
如果只指定一個源,並且該源是清單列表或映象索引,則 create 執行碳複製。如果指定一個源,並且該源**不是**列表或索引,則輸出將是一個清單列表,但是您可以使用 --prefer-index=false
停用此行為,它會嘗試在輸出中保留源清單格式。
選項
選項 | 預設值 | 描述 |
---|---|---|
--annotation | 向映象添加註解 | |
--append | 附加到現有清單 | |
--dry-run | 顯示最終映象而不是推送 | |
-f, --file | 從檔案中讀取源描述符 | |
--prefer-index | true | 當只指定一個源時,優先輸出映象索引或清單列表,而不是執行碳複製 |
--progress | auto | 設定進度輸出型別(`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)
顯示最終映象而不是推送(--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