Docker Bridge 네트워크 가이드

KUKJIN LEE's profile picture

KUKJIN LEE5개월 전 작성

Bridge 네트워크란?

Bridge 네트워크는 Docker의 기본 네트워크 드라이버입니다. 이 네트워크는 같은 Docker 호스트 내에서 실행되는 컨테이너들이 서로 통신할 수 있게 해주는 소프트웨어 브리지를 생성합니다.

 

주요 특징:

  • 컨테이너 간 격리 제공

  • 호스트와 컨테이너 간 통신 가능

  • 포트 매핑을 통한 외부 접근 지원

 

Bridge 네트워크의 작동 원리

  1. 네트워크 생성: Docker는 호스트 시스템에 가상 브리지를 생성합니다.

  2. 컨테이너 연결: 각 컨테이너는 가상 이더넷(veth) 인터페이스를 통해 이 브리지에 연결됩니다.

  3. IP 할당: 컨테이너는 브리지 네트워크의 서브넷에서 IP 주소를 할당받습니다.

  4. 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 네트워크 문제 해결

  1. 네트워크 정보 확인

docker network inspect bridge

 

  1. 컨테이너의 네트워크 설정 확인

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name

 

  1. 네트워크 연결 테스트

docker run --rm --network host nicolaka/netshoot ping container_name

 

Bridge 네트워크는 Docker 네트워킹의 기본이자 가장 널리 사용되는 옵션입니다.

New Tech Posts