本記事はDocker ver24.0.7の環境で確認しています。
このコマンドは、コンテナをDockerネットワーク接続から切断する際に使用します。
dockerネットワークに関しましては、別記事「Dockerネットワークの概要とその作り方の解説」をご参照ください。
docker network disconnectコマンドのフォーマットとオプション
フォーマット
docker network disconnect [オプション] ネットワーク コンテナ
主なオプション一覧
オプション | 概説 |
---|---|
--force, -f | 対象コンテナを強制的にネットワークから切断する |
コマンド例
$ docker network disconnect testnet1 testvm
docker network disconnectコマンドの主な使い方
以下で実例をまじえたコマンドの使い方を解説していきたいと思います。
基本事項の解説
docker network disconnectコマンドは、指定したDockerネットワークからコンテナを切り離す場合に使用します。
通常、コンテナをDockerネットワークからコマンドで切り離すことはほとんどないため、このコマンドが登場する機会は稀だと思います。
指定したネットワークからコンテナを切り離す
まず、テスト用のネットワークtestnet1を作成します。
$ docker network create -d bridge testnet1
次に接続テストを行うコンテナtestvmを作成しましょう。
$ docker run -dit --init --name testvm ubuntu
コンテナtestvmをネットワークtestnet1に接続します。
$ docker network connect testnet1 testvm
接続されたことを確認するために、docker network inspectコマンドでtestnet1の詳細情報をみてみましょう。
$ docker network inspect testnet1
「Containers」の部分のみ確認します。
(省略)
"Containers": {
"0b05e7d201c28055dc3bfaa40bf12b2a0fa7ad147c579645d99cf35360a45770": {
"Name": "testvm",
"EndpointID": "2642bbcb1737cae4ea3d6dc686d6556b7f976fe1715071f743fbfea5063006de",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.21.0.2/16",
"IPv6Address": ""
}
}
(省略)
コンテナtestvmが表示されましたので、接続されていることが確認できました。
コンテナtestvmに対して、IPアドレス「172.21.0.2」が付与されていることもわかります。
docker inspectコマンドで、コンテナtestvmの詳細情報も確認してみましょう。
$ docker inspect testvm
「Networks」の部分のみ確認します。
(省略)
"Networks": {
(省略)
"bridge": {
(省略)
"IPAddress": "172.17.0.2",
(省略)
},
"testnet1": {
(省略)
"IPAddress": "172.21.0.2",
(省略)
}
(省略)
docker network inspectコマンドで確認した際と同様に、ネットワークtestnet1内でIPアドレス「172.21.0.2」が付与されていることが確認できました。
ちなみに、コンテナtestvmをdocker runコマンドで起動した際に、ネットワークを指定しなかったのでネットワークbridgeにも接続しています。
では、docker network disconnectコマンドでコンテナtestvmをネットワークtestnet1から切り離してみます。
$ docker network disconnect testnet1 testvm
切断されたことを確認するために、docker network inspectコマンドでtestnet1の詳細情報をみてみましょう。
$ docker network inspect testnet1
「Containers」の部分のみ確認します。
"Containers": {},
先ほどはコンテナtestvmが表示されたのですが、今回は表示されてません。
docker inspectコマンドで、コンテナtestvmの詳細情報も確認してみましょう。
$ docker inspect testvm
「Networks」の部分のみ確認します。
(省略)
"Networks": {
(省略)
"bridge": {
(省略)
"IPAddress": "172.17.0.2",
(省略)
ネットワークbridgeのみで、testnet1は表示されなくなりました。
以上より、コンテナtestvmはネットワークtestnet1から切断されたことが確認できました。
おわりに
以上でdocker network disconnectコマンドの紹介を終わります。
ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。
他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerのコマンドの一覧(オリジナルな実例付き)」をご参照ください。
ご訪問ありがとうございました。
コメント