사용하지 않는 네트워크 식별을 위한 네트워크 목록 확인
이 단계에서는 Docker 네트워크를 나열하고 현재 컨테이너에서 사용하지 않는 네트워크를 식별하는 방법을 배우겠습니다. 이는 Docker 환경을 정리하고 리소스를 확보하는 데 유용합니다.
이전 단계에서 docker network ls 명령을 사용하여 모든 네트워크를 나열했습니다. 현재 상태를 확인하기 위해 다시 실행해 보겠습니다.
docker network ls
출력에는 각 네트워크의 네트워크 ID, 이름, 드라이버 및 범위가 표시됩니다. 생성한 my-network-1 및 my-network-2 네트워크가 나열되어 있는지 확인하십시오.
사용하지 않는 네트워크를 식별하기 위해 --dry-run 플래그와 함께 docker network prune 명령을 사용할 수 있습니다. 이 플래그를 사용하면 실제로 제거하지 않고 어떤 네트워크가 제거될지 확인할 수 있습니다.
docker network prune --dry-run
이 명령의 출력은 실행 중인 컨테이너에 연결되지 않은 네트워크를 나열하고 정리됩니다. my-network-1 또는 my-network-2에 컨테이너를 연결하지 않았으므로 드라이 런의 출력에 표시되어야 합니다.
docker network prune --dry-run의 출력에 어떤 영향을 미치는지 확인하기 위해 my-network-1에 연결된 간단한 컨테이너를 실행해 보겠습니다. 매우 작은 hello-world 이미지를 사용합니다. 먼저 이미지를 가져옵니다.
docker pull hello-world
이제 이 이미지를 사용하여 컨테이너를 실행하고 my-network-1에 연결합니다. -d 플래그는 컨테이너를 분리 모드 (백그라운드) 에서 실행합니다.
docker run -d --network my-network-1 hello-world
컨테이너 ID 가 출력으로 표시됩니다.
이제 docker network prune --dry-run 명령을 다시 실행해 보겠습니다.
docker network prune --dry-run
이번에는 my-network-1이 실행 중인 hello-world 컨테이너에서 사용되고 있으므로 정리할 네트워크 목록에 나타나지 않아야 합니다. 사용되지 않는 my-network-2는 여전히 나열되어야 합니다.
hello-world 컨테이너를 중지하고 제거하려면 먼저 docker ps를 사용하여 ID 를 찾습니다.
docker ps
그런 다음 docker stop <container_id>를 사용하여 컨테이너를 중지하고 docker rm <container_id>를 사용하여 제거합니다. <container_id>를 docker ps 출력의 실제 ID 로 바꿉니다.
docker stop <container_id>
docker rm <container_id>
이제 docker network prune --dry-run을 다시 실행하면 my-network-1과 my-network-2가 더 이상 사용되지 않으므로 정리할 네트워크로 나열되어야 합니다.