"docker inspect -f"
docker inpsect コマンドのフォーマット指定について確認してみました。
途中省略していますが、以下のように表示されます。
# docker inspect af8068 [ { "Id": "af80684d6eee152466c11f595b930e70bc523c8404126d034742cd00e677b469", *snip* "NetworkSettings": { "Bridge": "", *snip* "Networks": { "overlay1": { "IPAMConfig": { "IPv4Address": "10.0.0.8" }, "Links": null, "Aliases": [ "af80684d6eee" ], "NetworkID": "390dc5a9u7v9nwakdwvs0mxkl", "EndpointID": "f96c42b6e48a691522348726d73112cba526d6b4d71d0f65f7a24cf0d8f4a74d", "Gateway": "", "IPAddress": "10.0.0.8", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:0a:00:00:08" } } } } ] #
Network関連の情報をとるために、オプションを指定してみました。
# docker inspect -f '{{ .NetworkSettings.Networks}}' af8068 map[overlay1:0xc8200b6780]
# docker inspect -f '{{json .NetworkSettings.Networks}}' af8068 {"overlay1":{"IPAMConfig":{"IPv4Address":"10.0.0.8"},"Links":null,"Aliases":["af80684d6eee"],"NetworkID":"390dc5a9u7v9nwakdwvs0mxkl","EndpointID":"f96c42b6e48a691522348726d73112cba526d6b4d71d0f65f7a24cf0d8f4a74d","Gateway":"","IPAddress":"10.0.0.8","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:0a:00:00:08"}}
rangeを設定すると配列のように複数項目がある場合にループ処理している。 下の例では、Networkの一つであるoverlay1が一つの項目になる。 また、json形式で表示されたい場合は、-fのオプション時にjsonを指定する。
# docker inspect -f '{{range .NetworkSettings.Networks}}{{json .}}{{end}}' af8068 {"IPAMConfig":{"IPv4Address":"10.0.0.8"},"Links":null,"Aliases":["af80684d6eee"],"NetworkID":"390dc5a9u7v9nwakdwvs0mxkl","EndpointID":"f96c42b6e48a691522348726d73112cba526d6b4d71d0f65f7a24cf0d8f4a74d","Gateway":"","IPAddress":"10.0.0.8","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:0a:00:00:08"}
# docker inspect -f '{{range .NetworkSettings.Networks}}{{println .}}{{end}}' af8068 &{0xc82032e540 [] [af80684d6eee] 390dc5a9u7v9nwakdwvs0mxkl f96c42b6e48a691522348726d73112cba526d6b4d71d0f65f7a24cf0d8f4a74d 10.0.0.8 24 0 02:42:0a:00:00:08}
# docker inspect -f '{{range .NetworkSettings.Networks}}{{ .}}{{end}}' af8068 {0xc82032e600 [] [af80684d6eee] 390dc5a9u7v9nwakdwvs0mxkl f96c42b6e48a691522348726d73112cba526d6b4d71d0f65f7a24cf0d8f4a74d 10.0.0.8 24 0 02:42:0a:00:00:08}