bridge 네트워크 드라이버

bridge 네트워크 드라이버

Docker의 기본 네트워크 드라이버인 bridge를 설명하는 문서예요. 컨테이너 간, 컨테이너-호스트 간 통신을 위한 가상 브리지 네트워크를 만들어요.

출처: Bridge networking driver

본문

bridge 드라이버는 Docker의 기본 네트워크 드라이버예요. 컨테이너를 위한 사설 가상 브리지 네트워크를 만들고, 각 컨테이너에 내부 IP를 할당해 통신하게 해요.

기본 bridge 네트워크

docker run을 별도 네트워크 지정 없이 실행하면 기본 bridge 네트워크(docker0)에 연결돼요. 컨테이너는 내부 IP를 받고 NAT로 외부에 접속하며, 포트는 -p로 게시해요.

사용자 지정 bridge

$ docker network create mynet
$ docker run -d --network mynet nginx

사용자 지정 bridge 네트워크는 컨테이너 간 DNS 이름 해석을 지원해서, 컨테이너 이름으로 서로를 찾을 수 있어요.

특징

  • 컨테이너 간 격리를 제공하고, NAT로 외부 통신이 가능해요.
  • 포트 게시(-p)는 bridge의 DNAT 규칙으로 구현돼요.
  • 같은 사용자 지정 네트워크 안에서는 이름 기반 통신이 가능해요.

단점

  • host 네트워크보다 오버헤드가 있어 성능이 약간 낮을 수 있어요.
  • 컨테이너가 많아지면 네트워크 관리가 필요해요.

대부분의 워크로드에 적합한 기본 선택이에요. 컨테이너 간 격리와 유연한 네트워크 구성을 원한다면 사용자 지정 bridge를 쓰는 것이 좋아요.

더 알아보기