2016-12-17 3 views
4

도커 네트워크 "my_network"가 있습니다. docker network rm my_network으로이 도커 네트워크를 제거하고 싶습니다. 그 전에 모든 컨테이너를이 네트워크에서 연결 해제해야합니다. 나는 docker network inspect를 사용하고 난 단지 몇 개의 컨테이너를 가지고 있지만 내가 50 개 용기가 있다면 내가 문제가있는 경우 수동 분리에 괜찮Docker가 도커 네트워크에서 모든 컨테이너의 연결을 끊습니다.

[ 
    { 
     "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": {} 
    } 
] 

같은 출력을 얻을 수 있습니다. 하나 또는 여러 개의 명령으로이 네트워크에서 모든 컨테이너를 분리 할 수 ​​있습니까?

답변

5

docker network inspectformat 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

copy'n'Pasteable 솔루션을 추가하려면 :''for i '도커 네트워크 inspect -f'{{range .Containers}} {{. Name}} {{end}} 'network_name'; 도커 네트워크 연결 끊기 -f network_name $ i; 완료; 이름을 공백으로 나눌 수있는 답과 대조적으로 형식에는 공백이 있음에 유의하십시오. – wwerner

+0

@wwerner 감사합니다. 더 많은 가시성을 얻기 위해 대답에 명령을 포함 시켰습니다. – VonC

관련 문제