관련 글 목록
1. 컨테이너 기술
2. 도커와 Docker engine
3. 도커 네트워크
4. 도커 포트포워딩 시 서버 폭파 문제해결
지난 글에서 도커의 실행 방식을 알아보았으니, 이제 도커 네트워크는 어떻게 구성되어있는지 알아보자
Docker 네트워크의 종류

출처 https://indumathimanivannan.medium.com/docker-network-modes-explained-bridge-host-and-overlay-comparisons-d691857f9d30
- Bridge Network
- 기본적인 네트워크 드라이버
- Docker Daemon이 관리하는 가상의 브리지 네트워크를 사용
- 컨테이너는 이 네트워크 내에서 IP 주소를 할당받고, 다른 컨테이너와 통신
- 애플리케이션이 동일한 호스트의 다른 컨테이너와 통신해야 하는 컨테이너에서 실행될 때 일반적으로 사용
- Host Network
- 호스트 시스템의 네트워크를 직접 사용 (컨테이너와 Docker 호스트 간의 네트워크 격리를 제거)
- Overlay Network
- Macvlan Network
- ipvlan Network
- 사용자에게 IPv4와 IPv6 주소 지정에 대한 완전한 제어권을 제공
- None Network
- 컨테이너를 호스트 및 다른 컨테이너로부터 완전히 분리
현재 프로젝트에서는 Bridge Network를 사용중이다.
문제가 생기는 Bridge Network의 구조에 대해서 상세히 알아보자.
Bridge Network의 구조

출처 : https://gngsn.tistory.com/137
- eth0
- 호스트의 eth0
- 호스트가 외부와 연결할 때 사용하는 IP가 할당된 호스트 네트워크 인터페이스
- 호스트 시스템의 네트워크 카드
- docker0
- 도커가 설치될 때 기본적으로 구성되는 브릿지
- veth와 호스트의 eth0 인터페이스를 이어주는 중간다리
- 내부 컨테이너 간 통신, 외부 통신 시 NAT역할 수행
- veth (virtual eth)
- 컨테이너 내부의 IP를 외부와 연결해 주는 역할을 하는 가상 인터페이스
- 컨테이너가 생성될 때 동시에 생성, conatiner의 eth0인터페이스와 연결되어있음.
- veth와 호스트의 eth0를 연결시켜야 외부와 통신 가능