Container Networking Part.1 - Networking overview
Networking overview
Networking overview(Docker Documentation) 의 내용을 정리한 글입니다.
Docker 컨테이너 및 서비스는 함께 연결하거나 Docker 가 아닌 워크로드(앱)와 연결할 수 있습니다.
네트워크 드라이버
Docker의 네트워킹 하위시스템은 드라이버를 사용하여 연결할 수 있습니다.
기본적으로 다음 드라이버들이 핵심 네트워킹 기능을 제공합니다.
bridge
네트워크: 기본으로 생성하는 네트워크 드라이버입니다.
일반적으로 통신이 필요한 독립 실행형 컨테이너에서 앱을 실행할 때 사용됩니다.host
네트워크: 독립형 컨테이너처럼 컨테이너와 Docker 호스트 간의 네트워크 격리를 하지 않고 호스트의 네트워킹을 직접 사용합니다.overlay
네트워크: 스웜 서비스와 독립 실행형 컨테이너 간 또는 서로 다른 Docker 데몬에 있는 독립 실행형 컨테이너 간에 서로 통신할 때 사용됩니다.
이 네트워크를 사용하면 컨테이너 간에 OS 수준으로 라우팅할 필요가 없습니다.ipvlan
네트워크: 사용자가 IPv4 및 IPv6 주소 지정에 대해 완전히 컨트롤할 수 있습니다.macvlan
네트워크: 컨테이너에 MAC 주소를 할당하여 네트워크에서 물리적 장치로 표시합니다.
Docker 데몬은 MAC 주소의 컨테이너로 트래픽을 라우팅합니다. Docker 호스트의 네트워크 스택을 통해 라우팅되지 않고 물리적 네트워크에 직접 연결되는 레거시 앱을 다룰 때 좋습니다.none
네트워크: 컨테이너의 모든 네트워킹을 비활성화합니다. 일반적으로 사용자 지정 네트워크 드라이버와 함께 사용됩니다.none
은 스웜 서비스에는 사용할 수 없습니다.- Network plugins: Docker에 3rd-Party 네트워크 플러그인을 설치하고 사용할 수 있습니다. 이러한 플러그인은 Docker Hub 또는 타사 공급업체에서 이용할 수 있습니다.
요약
- 사용자가 정의한
bridge
네트워크는 동일한 Docker 호스트에서 여러 컨테이너가 통신할 때 가장 좋습니다. host
네트워크는 네트워크 스택을 Docker 호스트와 격리하지 않고, 컨테이너의 다른 부분을 격리하는 경우에 가장 좋습니다.overlay
네트워크는 서로 다른 Docker 호스트에서 실행되는 컨테이너가 통신이 필요하거나 Swarm 서비스를 사용하여 여러 앱이 함께 동작할 때 가장 좋습니다.macvlan
네트워크는 VM 설정에서 마이그레이션하거나 컨테이너가 네트워크에서 각각 고유한 MAC 주소를 가진 물리적 호스트처럼 보여야 할 때 가장 좋습니다.- 3rd-Party 네트워크 플러그인을 사용하면 Docker를 특수 네트워크 스택과 통합할 수 있습니다.
다음 단계
이 문서는 Docker 네트워크 작동 방식에 대한 OS별 세부 정보를 다루지 않았습니다.
따라서 Docker가 Linux에서 iptables 규칙을 조작하는 방법이나 Windows 서버에서 라우팅 규칙을 조작하는 방법이나 Docker가 패킷을 형성 및 캡슐화하거나 암호화를 처리하는 방법에 대한 자세한 정보는 Docker 와 iptables를 참조하세요.
댓글남기기