自由気ままに書いちゃおう

好きなことをつらつらと・・・

【Docker】任意のDockerネットワークを作成する

前回の記事で、コンテナは規定でbridgeネットワークに繋がることを書きました。

www.guri2o1667.work


今回は、bridgeネットワークではなく任意のネットワークを作成してみます。

■はじめに

Dockerコンテナを利用し始めると、以下2つの必要性に迫られることがあります。

① 同一Dockerホスト上で、異なるネットワークに所属したコンテナを起動したい
② Dockerコンテナ間の通信でホスト名を利用したい

上記①、②はともにDockerネットワークを新規作成することで解決することができます。
尚、②は既定のBridigeネットワークではコンテナのホスト名(--nameオプションで指定した名前)同士での通信はできません。常にIPアドレスでの通信になります。

■Dockerネットワークを新規作成してみる

以下の書式です。
docker network create 任意のネットワーク名

ここでは、「myns1」としました。
作業前後でネットワーク状態を確認しています。

f:id:guri2o1667:20210527131750p:plain

■作成したDockerネットワークの詳細を確認してみる

myns1の詳細情報は以下コマンドで確認することができます。

f:id:guri2o1667:20210527132011p:plain


subnet: 172.18.0.0/16 , Gateway: 172.18.0.1でネットワークが作成されたことがわかりました。

■任意のアドレス帯でのDockerネットワークを作成する

前述までは自動的にサブネットが決められていました。
今回は任意のアドレス帯でのネットワーク作成を行います。

以下コマンドを実行するだけです。
docker network create 任意のネットワーク名 --subnet 任意のアドレス帯 --gateway ゲートウェイIPアドレス

f:id:guri2o1667:20210527132501p:plain

f:id:guri2o1667:20210527132540p:plain

ネットマスクは/16以外でももちろん可能です。

f:id:guri2o1667:20210527132722p:plain

■Dockerネットワークを削除する

以下コマンドを実行します。

f:id:guri2o1667:20210527132859p:plain


以上です。