docker network inspectコマンドの使い方(実例付)

Docker公式ロゴ3b
©2023 Docker Inc. All rights reserved

 本記事はDocker ver24.0.7の環境で確認しています。

 このコマンドは、Dockerネットワークの詳細情報を確認する際に使用します。

 ネットワーク名や使用ドライバ(ネットワーク機能モジュール)、そのネットワークに接続されているコンテナ情報など、対象ネットワークに関する多彩な情報を確認することが可能です。

 dockerネットワークに関しましては、別記事「Dockerネットワークの概要とその作り方の解説」をご参照ください。

docker network inspectコマンドのフォーマットとオプション

フォーマット

docker network inspect [オプション] ネットワーク [ネットワーク] ...

主なオプション一覧

オプション概説
-f, --format=[] goテンプレートで指定したフォーマットで表示

コマンド例

$ docker network inspect testnet1

docker network inspectコマンドの主な使い方

 以下で実例をまじえたコマンドの使い方を解説していきたいと思います。

実例では、Ubuntuの公式イメージにより起動したコンテナ(testvm)を使用します。

コンテナは「docker run -dit --init --name testvm ubuntu」で起動します。

※「--rm」オプションを付けておりませんので、ご利用後はコンテナ削除をお忘れなく。

基本事項の解説

 docker network inspectコマンドは、個々のDockerネットワークの詳細情報を確認する際に利用します。

 Dockerネットワークの各種管理を行う場合は必須のコマンドと言っていいでしょう。

 ネットワークアドレスや、対象のDockerネットワークに属するコンテナを確認することもできます。

指定したDockerネットワークの詳細情報を出力する

 docker network inspectコマンドでDockerネットワークを指定しますと、そのネットワークの詳細情報が出力されます。

 以下のコマンドでネットワークtestnet1を作成しましょう。

$ docker network create -d bridge testnet1

 このネットワークの詳細情報をdocker network inspectコマンドで出力してみます。

$ docker network inspect testnet1

 以下の内容が表示されました。

 [
   {
     "Name": "testnet1",
     "Id": "499f147e44103926118a9ba26850b823643253dd5c5a40bea6540c14e1f8df62",
     "Created": "2017-03-08T21:29:16.664456487+09:00",
     "Scope": "local",
     "Driver": "bridge",
     "EnableIPv6": false,
     "IPAM": {
       "Driver": "default",
       "Options": {},
       "Config": [
         {
           "Subnet": "172.18.0.0/16",
           "Gateway": "172.18.0.1"
         }
       ]
     },
     "Internal": false,
     "Attachable": false,
     "Ingress": false,
     "ConfigFrom": {
         "Network": ""
     },
     "ConfigOnly": false,
     "Containers": {},
     "Options": {},
     "Labels": {}
   }
 ]

 主な設定情報について解説します。

Name

 ネットワーク名です。

 docker network createコマンドで作成した際に指定した名前が出力されます。

Id

 ネットワークIDです。ネットワークが作成されますと、Dockerが自動的にIDを付与します。

 docker network lsコマンドで一覧を表示した場合は、デフォルトでこのIDの先頭12文字が表示されます。

$ docker network ls
NETWORK ID  NAME     DRIVER SCOPE
3abe6d83703c bridge   bridge local
8a9d400abb35 host     host local
9b510d65ac45 none     null local
499f147e4410 testnet1 bridge local

Driver

 ネットワークが使用するドライバが出力されます。

 Dockerホストのnicとブリッジ接続を行うための「bridge」、他のDockerホスト間でDockerネットワークを構築可能な「overlay」などが良く使われます。

IPAMカテゴリ内のConfig

 ネットワークのサブネットやゲートウェイなどが出力されます。

 docker network lsコマンドで指定したネットワークに接続されたコンテナのIPアドレスは、デフォルトでは、この情報を基に設定されます。

Containers

 ネットワークに接続されているコンテナの情報が出力されます。

 コンテナの情報としては、各コンテナの名前やIPアドレスなどが含まれます。

Labels

 ネットワーク作成時に、オプションでラベルと値の対を設定できます。

 ラベルは、docker network lsでネットワークの一覧を表示する際、出力内容をフィルタリングする際に利用することができます。

おわりに

 以上でdocker network inspectコマンドの紹介を終わります。

 ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。

 他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerのコマンドの一覧(オリジナルな実例付き)」をご参照ください。

 ご訪問ありがとうございました。

コメント