| 옵션 | 특징 |
|---|---|
| none | 네트워크 없음. 외부, 다른 컨테이너와 통신 불가 |
| host | 컨테이너가 호스트와 네트워크를 공유. 포트 충돌 발생 가능 |
| bridge (기본) | Docker가 기본으로 제공하는 내부 가상 네트워크. 컨테이너 간 통신 가능 |
[Host eth0] (192.168.1.10)
│
[docker0 Bridge] (172.17.0.1)
┌───────────────┬───────────────┐
[Container1] [Container2] ...
(172.17.0.2) (172.17.0.3)
Docker 설치 시 자동으로 bridge network (docker0) 생성
브릿지 네트워크 IP: 172.17.0.1/16
컨테이너 생성 시:
network namespace 생성
veth pair 생성
컨테이너는 브릿지 내에서 서로 통신 가능
ip link add vethXXXX type veth peer name vethYYYY
ip link set vethXXXX netns container
ip link set vethYYYY master docker0
ip link set vethYYYY up
docker run -d -p 8080:80 nginx
→ http://<Docker Host IP>:8080 으로 접근 가능
iptables -t nat -A DOCKER -p tcp --dport 8080 -j DNAT --to-destination 172.17.0.2:80
→ PREROUTING 체인에서 포트 리다이렉션
DOCKER 체인을 만들어 동적 관리| 구성 요소 | 역할 |
|---|---|
| docker0 | 브릿지 네트워크 (172.17.0.1) |
| veth pair | 호스트 ↔ 컨테이너 연결 |
| iptables | 외부 ↔ 컨테이너 포트 포워딩 및 NAT 적용 |
| network ns | 컨테이너마다 독립된 네트워크 네임스페이스 |