Docker Bridge 네트워크 가이드
KUKJIN LEE • 3개월 전 작성
Bridge 네트워크란?
Bridge 네트워크는 Docker의 기본 네트워크 드라이버입니다. 이 네트워크는 같은 Docker 호스트 내에서 실행되는 컨테이너들이 서로 통신할 수 있게 해주는 소프트웨어 브리지를 생성합니다.
주요 특징:
-
컨테이너 간 격리 제공
-
호스트와 컨테이너 간 통신 가능
-
포트 매핑을 통한 외부 접근 지원
Bridge 네트워크의 작동 원리
-
네트워크 생성: Docker는 호스트 시스템에 가상 브리지를 생성합니다.
-
컨테이너 연결: 각 컨테이너는 가상 이더넷(veth) 인터페이스를 통해 이 브리지에 연결됩니다.
-
IP 할당: 컨테이너는 브리지 네트워크의 서브넷에서 IP 주소를 할당받습니다.
-
NAT: 호스트의 IP 주소를 사용하여 외부 네트워크와 통신합니다.
기본 Bridge 네트워크 vs 사용자 정의 Bridge 네트워크
기본 Bridge 네트워크
-
이름:
docker0
-
자동으로 생성됨
-
모든 컨테이너가 기본적으로 연결됨
-
컨테이너 간 IP 주소로만 통신 가능
사용자 정의 Bridge 네트워크
-
수동으로 생성해야 함
-
더 나은 격리와 제어 제공
-
컨테이너 간 자동 DNS 확인 지원
-
동적으로 컨테이너를 연결/분리 가능
Bridge 네트워크 사용하기
기본 Bridge 네트워크 사용
docker run -d --name my_container nginx
사용자 정의 Bridge 네트워크 생성 및 사용
# 네트워크 생성
docker network create my_custom_bridge
# 네트워크에 컨테이너 연결
docker run -d --name my_container --network my_custom_bridge nginx
# 기존 컨테이너를 네트워크에 연결
docker network connect my_custom_bridge existing_container
Bridge 네트워크 문제 해결
-
네트워크 정보 확인
docker network inspect bridge
-
컨테이너의 네트워크 설정 확인
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name
-
네트워크 연결 테스트
docker run --rm --network host nicolaka/netshoot ping container_name
Bridge 네트워크는 Docker 네트워킹의 기본이자 가장 널리 사용되는 옵션입니다.