docker network connect

説明

コンテナをネットワークに接続します。

【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.21 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version コマンドを使います。

使い方

$ docker network connect [OPTIONS] NETWORK CONTAINER

補足説明

コンテナをネットワークに接続(connect)します。コンテナの接続はコンテナ名かコンテナ ID を使います。接続後は、同一ネットワーク上にある他のコンテナと通信可能になります。

コマンドの使用例は、以下の 使用例のセクション をご覧ください。

オプション

名前, 省略形

デフォルト

説明

--alias

コンテナにネットワーク範囲内の別名を追加

--driver-opt

ネットワークに対するドライバ・オプション

--ip

IPv4 アドレス(例: 172.30.100.104)

--ip6

IPv6 アドレス(例: 2001:db8:33)

--link

他のコンテナに対するリンクを追加

--link-local-ip

コンテナに対するリンク・ローカル・アドレスを追加

使用例

実行中のコンテナをネットワークに接続

$ docker network connect multi-host-network container1

コンテナ起動時にネットワークへ接続

docker run --network=<ネットワーク名> オプションを使うと、コンテナ起動時に直ちにネットワークに接続します。

$ docker run -itd --network=multi-host-network busybox

接続するネットワーク上で使う IP アドレスを指定

コンテナのインターフェースに任意の IP アドレスを割り当て可能です。

$ docker network connect --ip 10.10.36.122 multi-host-network container2

コンテナにネットワーク別名を作成

--alias オプションを使うことで、ネットワークを接続したコンテナ間での名前解決に使う別名を指定できます。

$ docker network connect --alias db --alias mysql multi-host-network container2

コンテナの停止・一時停止・再起動とネットワークの関係

コンテナを中断(pause)・再起動・停止しても、ネットワークに接続したままです。中断したコンテナはネットワークに接続し続けており、 network inspect で確認できます。コンテナを停止(stop)すると、再起動するまではネットワーク上に表示されません。

停止しているコンテナを再起動する時に IP アドレスを指定できます。もしも IP アドレスが使えなければ、コンテナは起動に失敗します。IP アドレスを確実に割り当てるためには、ネットワーク作成時に --ip-range (IPアドレスの範囲)を指定しておき、その範囲内外にある静的な IP アドレスを割り当てる方法があります。そうしておけば、コンテナが対象のネットワークに所属していない間でも、他のコンテナに IP アドレスを使われる心配はありません。

$ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-network
$ docker network connect --ip 172.20.128.2 multi-host-network container2

コンテナがどこに接続しているかを確認するには、 docker network inspect コマンドを使います。 docker network disconnect はコンテナをネットワークから切り離します。

ネットワークに接続したら、コンテナは他のコンテナの IP アドレスや名前を使って通信できるようになります。 overlay ネットワークやカスタム・プラグインは複数のホスト間の接続性(multi-host connectivity)をサポートしています。コンテナは同じマルチホスト・ネットワーク上で接続できるだけではありません。異なったエンジンによって起動されていたとしても、同様に通信できます。

コンテナは複数のネットワークにも接続できます。ネットワークは同じ種類でなくても構いません。例えば、コンテナ・ブリッジとオーバレイ・ネットワークの両方に接続できます。

親コマンド

コマンド

説明

docker network

ネットワークを管理

関連コマンド

コマンド

説明

docker network connect

コンテナをネットワークに接続

docker network craete

ネットワーク作成

docker network disconnect

ネットワークからコンテナを切断

docker network inspect

1つまたは複数ネットワークの情報を表示

docker network ls

ネットワーク一覧表示

docker network prune

使用していないネットワークを全て削除

docker network rm

1つまたは複数ネットワークの削除