Docker를 오래 운영하다 보면 프로젝트가 종료되거나 테스트 환경이 정리되면서 더 이상 사용하지 않는 Docker Network가 계속 남아 있는 경우가 많습니다. 이러한 네트워크는 시스템 성능에 큰 영향을 주지는 않지만 관리가 복잡해지고, 운영자가 현재 어떤 네트워크가 실제 사용 중인지 판단하기 어려워질 수 있습니다.
특히 개발 환경이나 CI/CD 서버에서는 테스트를 반복하면서 수많은 사용자 정의 네트워크(User-defined Network)가 생성됩니다. 사용이 끝난 네트워크를 그대로 방치하면 관리 효율이 떨어지고 장애 분석 시에도 혼란을 줄 수 있습니다.
이럴 때 사용하는 명령어가 바로 docker network rm입니다.
Docker Network RM은 더 이상 필요하지 않은 Docker Network를 삭제하는 명령어입니다. 현재 어떤 컨테이너도 사용하지 않는 네트워크를 안전하게 제거하여 Docker 환경을 깔끔하게 유지할 수 있습니다.
이번 글에서는 Docker Network RM의 개념부터 기본 사용법, 삭제 조건, 주요 옵션, 실무 활용 방법까지 자세히 알아보겠습니다.
Docker Network RM이란 무엇인가?
Docker Network RM은 Docker Network를 삭제하는 명령어입니다.
사용이 끝난 사용자 정의 네트워크를 제거하여 Docker 환경을 정리할 수 있습니다.
다만 현재 컨테이너가 연결되어 있는 네트워크는 삭제할 수 없습니다.
Docker Network RM은 언제 사용하는가?
다음과 같은 상황에서 자주 사용합니다.
- 프로젝트 종료 후 Network 정리
- 테스트 Network 삭제
- 사용하지 않는 Network 제거
- Docker 환경 정리
- 개발 서버 유지보수
- CI/CD 환경 정리
운영 서버보다는 개발 환경에서 더욱 자주 사용하는 명령어입니다.
Docker Network RM 기본 사용법
가장 기본적인 사용 방법입니다.
docker network rm web_network
삭제가 완료되면 다음과 같이 출력됩니다.
web_network
해당 Docker Network가 삭제됩니다.
여러 개의 Network 삭제하기
여러 개의 네트워크를 동시에 삭제할 수도 있습니다.
docker network rm frontend_network backend_network database_network
입력한 모든 네트워크가 순서대로 삭제됩니다.
삭제 후 확인하기
삭제가 정상적으로 완료되었는지 확인합니다.
docker network ls
삭제한 네트워크가 목록에서 사라졌다면 정상적으로 삭제된 것입니다.
사용 중인 Network 삭제 시
현재 컨테이너가 연결되어 있는 Network는 삭제되지 않습니다.
docker network rm backend_network
예를 들어 다음과 같은 오류가 발생합니다.
Error response from daemon:
network backend_network has active endpoints
이 오류는 현재 하나 이상의 컨테이너가 해당 네트워크를 사용하고 있다는 의미입니다.
이 경우에는 먼저 컨테이너를 분리하거나 삭제한 후 Network를 삭제해야 합니다.
삭제 전 연결 상태 확인하기
삭제하기 전에 현재 어떤 컨테이너가 연결되어 있는지 확인하는 것이 좋습니다.
docker network inspect backend_network
연결된 컨테이너를 확인한 후 삭제를 진행하면 안전하게 작업할 수 있습니다.
Docker Network RM 실무 활용 예제
Docker Network RM은 프로젝트 종료 후 사용하지 않는 네트워크를 정리하거나 테스트 환경을 초기화할 때 자주 사용하는 명령어입니다.
특정 Docker Network 삭제하기
가장 기본적인 사용 방법입니다.
docker network rm web_network
web_network가 삭제됩니다.
여러 개의 Network 한 번에 삭제하기
여러 개의 네트워크를 동시에 삭제할 수도 있습니다.
docker network rm frontend_network backend_network database_network
입력한 모든 네트워크가 순서대로 삭제됩니다.
삭제 전 Network 목록 확인하기
삭제하기 전에 현재 존재하는 Network를 확인합니다.
docker network ls
삭제 대상이 맞는지 확인한 후 작업하는 것이 안전합니다.
연결된 컨테이너 확인하기
삭제하기 전에 어떤 컨테이너가 연결되어 있는지 확인합니다.
docker network inspect backend_network
Containers 항목에서 현재 연결된 컨테이너를 확인할 수 있습니다.
컨테이너 연결 해제 후 삭제하기
현재 컨테이너가 연결되어 있다면 먼저 연결을 해제해야 합니다.
docker network disconnect backend_network nginx
연결을 해제한 후 네트워크를 삭제합니다.
docker network rm backend_network
삭제 여부 확인하기
삭제가 완료되었는지 다시 확인합니다.
docker network ls
목록에서 해당 Network가 사라졌다면 정상적으로 삭제된 것입니다.
Linux 서버 문제 해결
운영 서버에서 오래전에 종료된 프로젝트의 Docker Network가 계속 남아 있어 관리가 복잡해지는 문제가 발생했습니다.
관리자는 현재 생성된 네트워크 목록을 확인했습니다.
docker network ls
사용하지 않는 old_project_network를 삭제하려 했지만 다음과 같은 오류가 발생했습니다.
Error response from daemon:
network old_project_network has active endpoints
확인 결과 테스트 컨테이너가 아직 해당 Network에 연결되어 있었습니다.
먼저 연결 상태를 확인했습니다.
docker network inspect old_project_network
테스트 컨테이너를 Network에서 분리했습니다.
docker network disconnect old_project_network test-container
그 후 다시 삭제를 수행했습니다.
docker network rm old_project_network
삭제가 정상적으로 완료되었고 Docker Network 목록도 깔끔하게 정리되었습니다.
운영 환경에서는 삭제 전에 연결된 컨테이너를 반드시 확인하는 것이 매우 중요합니다.
Docker Network RM 사용 시 주의사항
Docker Network RM을 사용할 때는 다음 사항을 반드시 확인해야 합니다.
첫 번째는 현재 컨테이너가 연결된 Network는 삭제할 수 없다는 점입니다.
먼저 모든 컨테이너를 분리하거나 삭제해야 합니다.
두 번째는 기본 Docker Network인 bridge, host, none은 삭제하지 않는 것이 좋습니다.
이들은 Docker가 내부적으로 사용하는 기본 네트워크입니다.
세 번째는 삭제 전 docker network inspect를 이용하여 연결 상태를 확인하는 것이 안전합니다.
네 번째는 운영 서버에서는 서비스 영향 여부를 충분히 확인한 후 유지보수 시간에 삭제 작업을 수행하는 것이 좋습니다.
Best Practice
Docker Network RM을 사용할 때는 다음과 같은 방법을 추천합니다.
- 삭제 전 Network 목록을 확인합니다.
- 연결된 컨테이너를 먼저 확인합니다.
- 사용자 정의 Network만 삭제합니다.
- 프로젝트 종료 후 즉시 정리합니다.
- 운영 서버에서는 유지보수 시간에 삭제합니다.
- 정기적으로 사용하지 않는 Network를 점검합니다.
이러한 관리 방법을 적용하면 Docker 네트워크를 더욱 효율적으로 운영할 수 있습니다.
자주 묻는 질문
Docker Network RM으로 기본 Network도 삭제할 수 있나요?
아니요.
bridge, host, none과 같은 기본 Network는 일반적으로 삭제할 수 없습니다.
사용 중인 Network는 삭제할 수 있나요?
아닙니다.
현재 컨테이너가 연결되어 있는 Network는 삭제되지 않습니다.
여러 개의 Network를 동시에 삭제할 수 있나요?
가능합니다.
삭제할 Network 이름을 여러 개 입력하면 한 번에 삭제할 수 있습니다.
삭제 전에 확인해야 하는 명령어는 무엇인가요?
docker network ls와 docker network inspect를 먼저 실행하는 것을 권장합니다.
마무리
Docker Network RM은 사용이 끝난 Docker Network를 안전하게 삭제하는 핵심 관리 명령어입니다.
프로젝트 종료 후 불필요한 네트워크를 정리하면 Docker 환경을 더욱 깔끔하게 유지할 수 있으며, 장애 분석과 운영 관리도 훨씬 쉬워집니다.
특히 삭제 전에는 반드시 docker network inspect를 이용해 연결된 컨테이너를 확인하고, 필요한 경우 docker network disconnect를 통해 연결을 해제한 후 삭제하는 습관을 가지는 것이 안전한 Docker 운영의 핵심입니다.