도커 컨테이너는 이웃 컨테이너 및 외부 서비스와의 통신을 가능하게 하는데, 이를 위해서는 컨테이너를 도커 네트워크에 연결해야 합니다. 각 컨테이너가 사용 가능한 통신 경로는 그 특성에 따라 달라집니다. 도커는 코어 네트워킹 기능을 구현하는 다섯 가지 내장된 네트워크 드라이버를 제공합니다.
![](https://blog.kakaocdn.net/dn/XWHkp/btsy4oG526S/HiXm0RnOICPt3BCYP5l5j1/img.jpg)
1. 브릿지 네트워크 (Bridge Network)
브릿지 네트워크는 호스트와 컨테이너 사이에 소프트웨어 기반 브릿지를 만듭니다. 이 브릿지를 통해 네트워크에 연결된 컨테이너는 서로 통신할 수 있으며 LAN 및 인터넷과 통신이 가능하지만, LAN에서 물리적 장치로 표시되지 않습니다. 각 컨테이너에는 자체 IP 주소가 할당됩니다.
2. 호스트 네트워크 모드 (Host Network Mode)
호스트 네트워크 모드를 사용하는 컨테이너는 호스트의 네트워크 스택을 공유하며, 자체 IP 주소가 할당되지 않습니다. 대신, 포트 바인딩은 호스트의 네트워크 인터페이스에 직접 연결됩니다. 이 모드를 사용하면 컨테이너 프로세스가 호스트의 IP 주소 및 포트에 직접 바인딩됩니다.
3. 오버레이 네트워크 (Overlay Network)
오버레이 네트워크는 여러 도커 호스트를 통과하는 분산 네트워크를 구현합니다. 모든 호스트에서 실행되는 컨테이너가 OS 수준의 라우팅 지원을 필요로하지 않고 서로 통신할 수 있게 합니다. 이 네트워크는 Docker Swarm 클러스터를 위한 것이지만, Docker Engine의 두 개의 별도 인스턴스 사이에서 컨테이너 간 직접 통신이 필요한 경우에도 사용할 수 있습니다.
4. IPVlan 네트워크 (IPVlan Network)
IPvlan 네트워크는 고급 드라이버로, 컨테이너에 할당된 IPv4 및 IPv6 주소 및 레이어 2, 3 VLAN 태그 및 라우팅을 정밀하게 제어합니다. 이 네트워크는 기존의 물리적 네트워크와 컨테이너화 서비스를 통합할 때 유용하며, 브릿지 네트워킹에 대한 성능 혜택을 제공합니다.
5. Macvlan 네트워크 (Macvlan Network)
Macvlan은 컨테이너가 물리적 장치로 표시될 수 있는 고급 옵션입니다. 이 네트워크 유형을 사용하려면 호스트의 물리적 인터페이스 중 하나를 가상 네트워크에 바칠 필요가 있으며, 각 컨테이너에는 고유한 MAC 주소가 할당됩니다. 더 큰 네트워크에서 많은 컨테이너를 실행하는 경우에 유용합니다.
마무리
도커 네트워크 유형은 컨테이너 환경을 구축하고 통신을 관리할 때 중요한 역할을 합니다. 적절한 네트워크 드라이버를 선택하고 컨테이너 간 통신을 설정하는 것은 도커 환경을 효과적으로 운영하는 데 도움이 됩니다.
'Kubernetes' 카테고리의 다른 글
마이크로서비스 아키텍처(MSA)의 실제 적용 사례 Netflix와 Uber (0) | 2023.10.31 |
---|---|
쿠버네티스 오브젝트 관리하기 효율적인 클러스터 운영을 위한 가이드 (0) | 2023.09.25 |
쿠버네티스 디플로이먼트(Deployment) .yaml 파일 기술하기 (0) | 2023.09.25 |
쿠버네티스 오브젝트(Object) 컨테이너 오케스트레이션을 위한 핵심 구성 요소 (0) | 2023.09.25 |
쿠버네티스 API 클러스터 제어와 자동화의 핵심 (0) | 2023.09.25 |