[문제] 도커(Docker)의 컨테이너 네트워크 드라이버 유형(bridge, host, overlay, macvlan)을 설명하고, 컨테이너 간 통신 방식과 도커 컴포즈(Docker Compose)에서의 네트워크 설정 방법을 서술하시오.
1. 도커 네트워크 드라이버 유형
| 드라이버 | 특성 | 적합 용도 |
|---|---|---|
| bridge | 기본 드라이버. 가상 이더넷 브리지(docker0)에 컨테이너 연결. 동일 호스트 내 컨테이너 간 통신 | 단일 호스트 개발·테스트 |
| host | 컨테이너가 호스트 네트워크 스택을 공유. 포트 격리 없음 | 고성능 네트워크 필요 시 (네임스페이스 오버헤드 제거) |
| overlay | 멀티 호스트 간 컨테이너 통신. Docker Swarm·K8s에서 사용. VXLAN 기반 | 분산 클러스터, 멀티 호스트 MSA |
| macvlan | 컨테이너에 물리 네트워크의 MAC 주소 직접 할당. 물리 장비처럼 동작 | 레거시 네트워크 통합, 네트워크 모니터링 |
2. 컨테이너 간 통신과 Docker Compose 설정
- 동일 네트워크 내: 컨테이너 이름으로 DNS 해석 가능 (user-defined bridge 한정)
- Docker Compose:
networks섹션으로 커스텀 네트워크 정의, 서비스를 같은 네트워크에 배치하면 서비스 이름으로 통신 - 네트워크 격리: 다른 네트워크의 서비스는 명시적 연결 없이는 통신 불가 → MSA 보안 격리에 활용
핵심 키워드: Docker, bridge, overlay, VXLAN, host 네트워크, macvlan, Docker Compose, CNI
도커 네트워크 드라이버는 bridge(단일 호스트)·overlay(멀티 호스트)·host(고성능)·macvlan(물리 연결)로 다양한 요구를 충족한다. Docker Compose에서 커스텀 네트워크로 서비스 간 격리와 이름 기반 통신을 구현한다.