docker network connect¶
説明¶
コンテナをネットワークに接続します。
【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.21 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version
コマンドを使います。
補足説明¶
コンテナをネットワークに接続(connect)します。コンテナの接続はコンテナ名かコンテナ ID を使います。接続後は、同一ネットワーク上にある他のコンテナと通信可能になります。
コマンドの使用例は、以下の 使用例のセクション をご覧ください。
オプション¶
名前, 省略形 |
デフォルト |
説明 |
---|---|---|
|
コンテナにネットワーク範囲内の別名を追加 |
|
|
ネットワークに対するドライバ・オプション |
|
|
IPv4 アドレス(例: 172.30.100.104) |
|
|
IPv6 アドレス(例: 2001:db8:33) |
|
|
他のコンテナに対するリンクを追加 |
|
|
コンテナに対するリンク・ローカル・アドレスを追加 |
使用例¶
実行中のコンテナをネットワークに接続¶
$ 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
レガシーの --link
オプションを使う¶
--link
オプションを使うことで、他のコンテナを任意のエイリアス名でリンクできます。
$ docker network connect --link container1:c1 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)をサポートしています。コンテナは同じマルチホスト・ネットワーク上で接続できるだけではありません。異なったエンジンによって起動されていたとしても、同様に通信できます。
コンテナは複数のネットワークにも接続できます。ネットワークは同じ種類でなくても構いません。例えば、コンテナ・ブリッジとオーバレイ・ネットワークの両方に接続できます。
関連コマンド¶
コマンド |
説明 |
---|---|
コンテナをネットワークに接続 |
|
ネットワーク作成 |
|
ネットワークからコンテナを切断 |
|
1つまたは複数ネットワークの情報を表示 |
|
ネットワーク一覧表示 |
|
使用していないネットワークを全て削除 |
|
1つまたは複数ネットワークの削除 |
参考
- docker network connect
https://docs.docker.com/engine/reference/commandline/network_connect/