2016-12-17 2 views
4

私はドッカーネットワーク "my_network"を持っています。 docker network rm my_networkでこのドッカーネットワークを削除したいと思います。その前に私はすべてのコンテナをこのネットワークから切断する必要があります。私はdocker network inspectを使用して、私が唯一のいくつかのコンテナを持っていますが、私は50個のコンテナを持っている場合、私は問題がある場合には、手動切断に大丈夫ですドッカーはドッカーネットワークからすべてのコンテナを切断します

[ 
    { 
     "Name": "my_network", 
     "Id": "aaaaaa", 
     "Scope": "some_value", 
     "Driver": "another_value", 
     "EnableIPv6": bool_value, 
     "IPAM": { 
      "Driver": "default", 
      "Options": {}, 
      "Config": [ 
       { 
        "Subnet": "10.0.0.0/1" 
       } 
      ] 
     }, 
     "Internal": false, 
     "Containers": { 
      "bbb": { 
       "Name": "my_container_1", 
       "EndpointID": "ENDPOITID1", 
       "MacAddress": "MacAddress1", 
       "IPv4Address": "0.0.0.0/1", 
       "IPv6Address": "" 
      }, 
      "ccc": { 
       "Name": "my_container_2", 
       "EndpointID": "ENDPOINTID2", 
       "MacAddress": "MacAddress2", 
       "IPv4Address": "0.0.0.0/2", 
       "IPv6Address": "" 
      } 
     }, 
     "Options": {}, 
     "Labels": {} 
    } 
] 

のような出力を得ることができます。 1つまたは複数のコマンドで、このネットワークからすべてのコンテナを切断するにはどうすればよいですか?

答えて

5

docker network inspectは、format optionを有する。

その後、それぞれの名前を読み、 docker network disconnectを呼び出すために、スクリプトによって、簡単にする必要があります
docker network inspect -f '{{range .Containers}}{{.Name}}{{end}}' network_name 

:あなたがすべてのコンテナ名を一覧表示することができます意味

。追加

for i in ` docker network inspect -f '{{range .Containers}}{{.Name}} {{end}}' network_name`;\ 
    do \ 
    docker network disconnect -f network_name $i; \ 
    done; 

:などの形式のスペースがあること

注意を読みやすくするために、複数のラインで

for i in ` docker network inspect -f '{{range .Containers}}{{.Name}} {{end}}' network_name`; do docker network disconnect -f network_name $i; done; 

wwernerin the comments下に次のコマンドを提案しています名前をスペースで分割する答えに反対する。

+0

「ドッカー検査」から「ドッカーネットワーク検査」に修正できますか? それは動作します!どうもありがとうございます。 –

+0

コピーアンドペースト可能なソリューションを追加するには: '' for i 'のドッカーネットワークのinspect -f' {{range .Containers}} {{。Name}} {{end}} 'network_name';ドッカーネットワークを切断する-f network_name $ i;完了しました。スペースで名前を分割する答えとは対照的に、フォーマットにスペースがあることに注意してください。 – wwerner

+0

@wwernerありがとう。私はより多くの可視性のためにあなたのコマンドを答えに入れました。 – VonC

関連する問題