네트워크

Chapter 5.3. Docker 컨테이너 네트워킹 완전 정복

Juan_ 2025. 4. 20. 22:26
728x90

📚 Chapter 5.3: Docker 컨테이너 네트워킹 완전 정복

✅ 왜 중요하냐?

컨테이너는 기본적으로 가상화된 프로세스
걔들끼리 네트워크로 서로 연결돼야 마이크로서비스가 동작한다!

🧱 도커 네트워크 종류 총정리

종류설명특징
Bridge기본 네트워크같은 브리지 안에서는 IP로 통신 가능
Host호스트 공유도커 컨테이너가 호스트의 IP와 포트를 같이 씀
None네트워크 없음네트워크 분리, 완전 고립
Overlay다중 호스트 간스웜/쿠버네티스에서 쓰는 네트워크
Macvlan실제 LAN처럼컨테이너에 독립 MAC 주소 부여 (고급 옵션)

🌉 Bridge Network (기본)

▶️ 생성 시 자동으로 연결되는 기본 네트워크

docker network ls

- 기본 브리지 이름은 bridge
- 같은 브리지 안에서는 컨테이너끼리 IP or 컨테이너 이름으로 통신 가능!

예시


docker run -d --name web1 nginx
docker run -it --name client1 alpine /bin/sh
ping web1  # OK!

🏠 Host Network

컨테이너가 호스트와 같은 네트워크를 공유함
docker run --network host nginx

- 퍼포먼스는 좋지만 포트 충돌 주의!

❌ None Network

컨테이너를 네트워크에서 완전 고립
docker run --network none ...

☁️ Overlay Network (멀티 호스트용)

Docker Swarm, Kubernetes에서 쓰는 클러스터 간 통신용 네트워크

✅ 실무 핵심: 사용자 정의 브리지


docker network create mynet

docker run -d --name web --network mynet nginx
docker run -it --name cli --network mynet alpine /bin/sh
ping web

🧠 컨테이너 IP 확인하는 방법

docker inspect <container_name>

🔐 보안 & 통신 팁

항목설명
포트포워딩-p 8080:80 으로 외부 접근 가능
내부 통신브리지 네트워크 내에서만 가능하게 설계 가능
비공개 통신API, DB는 외부 포트 열지 말고 내부 브리지로만 통신

✅ 정리 요약

네트워크특징실무 활용
Bridge기본, 내부 통신 가능웹+DB 구성
Host호스트와 동일퍼포먼스 중요할 때
None네트워크 없음테스트, 격리
Overlay멀티노드 통신Swarm, K8s
사용자 브리지이름 기반 통신 가능실무에서 가장 많이 씀

📦 다음 수업 예고 🎓

Chapter 5.4: 실전 트러블슈팅 – 네트워크 문제를 어떻게 해결할 것인가?
"도커로 배포했는데 안 붙어요…"
"사내망에서만 특정 사이트가 안 돼요"
실제 상황 기반 문제 해결 시나리오 총정리 간다!!
728x90