////
Search

Docker Network

생성일
2023/04/27 10:42
태그

Docker Network 구조

도커는 컨테이너에 NAT 내부 IP를 순차적으로 할당하며, 내부 IP는 컨테이너를 재시작 할 때마다 변경될 수 있다. 도커는 NAT를 외부와 연결하기 위해 컨테이너를 시작할 때마다 도커 엔진에서 호스트에 veth(Virtual Ethernet)라는 네트워크 인터페이스를 생성하여, docker0 브릿지와 바인딩하여 호스트의 NIC(Network Interface Card)로 eth0 인터페이스와 연결한다.
컨테이너 생성 시 기본적으로 docker0 브릿지를 통해 외부와 통신하지만, 사용자의 설정에 따라 여러 네트워크 드라이버로 대체하여 사용할 수 있다.

Docker Network Driver

브릿지(Bridge) docker0가 아닌 사용자 정의 브릿지를 새로 생성하여 각 컨테이너를 연결하는 네트워크 구조. 컨테이너는 해당 브릿지를 통해 외부와 통신한다.
호스트(Host) 호스트의 네트워크 환경을 그대로 사용. 별도의 네트워크 드라이버를 생성하지 않고 기존의 host라는 이름의 네트워크를 사용한다.
논(none / null) 말 그대로 아무런 네트워크를 사용하지 않음. 네트워크 환경을 도커가 아닌 깨끗한 상태에서 직접 구축하기 위한 경우에 사용됨.
컨테이너(container) 다른 컨테이너의 네트워크 네임스페이스 환경을 공유하여 사용하는 구조. 내부 IP와 네트워크 인터페이스의 MAC 주소를 공유한다.
오버레이(overlay) docker swarm과 같은 클러스터 환경에서 사용되며, 호스트 네트워크를 다중으로 분리하여 사용하는 구조. 여러 개의 컨테이너를 별도의 호스트 네트워크 노드들로 묶어 사용한다.