今回はbridgeネットワークについてです。
※Dockerコンテナ内で利用するネットワークの一つがbridgeネットワークです。
■bridgeネットワークとは
docker runコマンドやdocker createコマンドを実行時、
ネットワーク関連のオプションを指定しない限り、
デフォルトではbridgeネットワークに各コンテナが接続されます。
■bridgeネットワークを確認する
以下コマンドを実行します。
「NAME」列に「bridge」と記載されているのが、bridgeネットワークのことです。
■コンテナ側に割り当てれらているIPアドレスを確認する
コンテナのIPアドレスを確認する方法は大きく分けて3つあります。
① コンテナにログインし、ipコマンド等を実行する。
② docker inspect コマンドを使う。
③ docker network inspect bridgeコマンドを使う。※個人的に推奨
【上記①コンテナにログインし、ipコマンド等を実行する】
以下はbb1コンテナにログインして、ifconfigコマンドを実行したときの結果です。
【上記②コンテナ上からdocker inspectコマンドを使う】
ここではbb1コンテナ(BusyBoxコンテナ)の情報を記載しています。
コンテナに割り当てられているIPアドレスは上図の中の以下の部分です。
■補足:docker inspect --formatについて
特定項目のみを出力したい場合には、
docker inspect --formatを利用します。
以下のような感じです。
--format="{{}}" は固定です。
内側の{}内にドット区切りでパラメータを記載致します。
【上記③docker network inspect bridgeコマンドを使う】
bridgeネットワークの情報を参照したいため、
以下コマンドでもbridgeネットワークに接続されているコンテナのIPアドレスがわかります。
出力結果の下の方に「Containers」項目があるため、
そこに着目するとIPアドレス(IPv4Address)が表示されていることがわかります。
※下図は3台のコンテナが存在している環境での当該コマンドの結果です。
■Dockerコンテナ間での疎通確認を実施
試しにbb1,bb2コンテナ間でping疎通を行ってみたいと思います。
bb1 : 172.17.0.2
bb2 : 172.17.0.3
以上です。