- 도커 컨테이너는 기본적으로 "네트워크 격리(ns 분리)"를 통해 서로 독립된 네트워크 스택(IP, 포트 공간, 라우팅 테이블)을 할당
- 단일 Docker 호스트(OS)에서 여러 컨테이너들이 각각 고유 IP주소를 받으며, 네트워크 유형에 따라 서로 다른 통신 경로와 격리 수준을 확보


자동으로 bridge Network(docker0) 생성리눅스 커널의 브릿지 장치
역할은 L2 스위치처럼, 여러 인터페이스(veth 등)를 포트로 붙여서 MAC 학습/포워딩으로 같은 브리지 안에서 프레임을 전달docker0은 그 브리지의 인스턴스
1. 컨테이너 내부에 eth0 생성 -> veth 가상 NIC쌍(vethXXX)이 함께 생성
2. veth의 한쪽 끝은 컨테이너 내부, 다른 한쪽은 호스트의 브릿지에 연결
3. 브릿지는 여러 컨테이너를 Layer2(스위치처럼)로 붙임, 로컬 통신과 외부 라우팅 지원
4. 호스트 네트워크 인터페이스(ex. enp0s3, eth0)와 NAT(iptables)로 외부와 통신 가능
-----
if 컨테이너들끼리:
- 브릿지 네트워크 내부에서 직접 IP로 통신 가능(같은 브로드캐스트라 생각)
- 외부에서 컨테이너까지는 포트 포워딩 필요

여기서 eth0는 호스트 네트워크
네트워크 네임스페이스를 호스트와 완전 공유