docker buildx imagetools create

説明

ソース・イメージに基づく新しいイメージを作成します。

使い方

$ docker buildx imagetools create [OPTIONS] [SOURCE] [SOURCE...]

補足説明

imagetools は、レジストリ内のマニフェストリストを操作するコマンドを含みます。これらのコマンドはマルチプラットフォームの構築結果の調査に役立ちます。

ソース・マニフェストに基づき、新しいマニフェストリストを作成します。ソース・マニフェストは、マニフェストリストや特定プラットフォーム用のディストリビューション・マニフェストとすることができ、新しいマニフェストリストの作成時には、レジストリに存在していなくてはいけません。ソースを1つだけ指定する場合は、プラットフォームの複製を作成します。

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

オプション

名前, 省略形 デフォルト 説明
--append   既存のマニフェストリストに追加
--dry-run   送信(push)の代わりに最終イメージを表示
--file , -f   ソースを指定したファイルから読み込む
--tag , ``-t`   新しいイメージの参照を設定
--builder   設定したビルダインスタンスを上書き

使用例

既存のマニフェストリストに新しいソースを追加(--append)

--append フラグを使い、出力先で既存のマニフェスト・リストに新しいソースを追加します。

builder 対象の設定を上書き (--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

親コマンド

コマンド 説明
docker buildx imagetools レジストリにあるイメージを操作するコマンド

関連コマンド

コマンド 説明
docker buildx imagetools create ソース・イメージを元に新しいイメージを作成
docker buildx imagetools inspect レジストリ内のイメージ詳細を表示