inspect¶
Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
Return low-level information on a container or image
-f, --format="" Format the output using the given go template
--help=false Print usage
--type=container|image Return JSON for specified type, permissible
values are "image" or "container"
-s, --size=false Display total file sizes if the type is container
デフォルトは、全ての結果を JSON 配列で表示します。フォーマットを指定した場合は、それぞれのテンプレートに従って結果を表示します。
フォーマットの詳細については、Go 言語の text/template パッケージの説明をご覧ください。
例¶
インスタンスの IP アドレスを取得:
ほとんどの場合、JSON の適切そのままの手法でフィールドから取得できます。
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_ID
インスタンスの MAC アドレスを取得:
ほとんどの場合、JSON の適切そのままの手法でフィールドから取得できます。
$ docker inspect '{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
インスタンスのログ・パスを取得:
$ docker inspect --format='{{.LogPath}}' $INSTANCE_ID
バインドしているポート一覧を表示:
配列の中をループして、割り当てられている結果を簡単なテキストとして出力します。
$ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
特定のポート割り当てを探す:
.Field
構文は数字で始まるフィールド名で使えませんが、テンプレート言語の index
機能では利用可能です。 .NetworkSettings.Prots
セクションには、内部と外部にあるアドレス/ポートのオブジェクトに対する割り当てリストを含みます。 index
0 は、そのオブジェクトの1番目の項目です。 HostPort
フィールドからパブリックアドレスを入手するには、次のようにします。
$ docker inspect --format='{{(index (index .NetworkSettings.Ports "8787/tcp") 0).HostPort}}' $INSTANCE_ID
設定を取得する:
.Field
構文は JSON データを含む場合に使えませんが、テンプレート言語のカスタム json
であれば利用可能です。 .config
セクションは複雑な JSON オブジェクトですが、JSON 全体を取り込んでから、 json
を使って設定オブジェクトを JSON に変換します。
$ docker inspect --format='{{json .config}}' $INSTANCE_ID