Network
도커는 컨테이너 내부 IP를 순차적으로 할당하며 컨테이너가 재시작 할 때마다 변경될 수 있다.
내부 IP는 도커가 설치된 호스트, 즉 내부망에서만 쓸 수 있는 IP이므로 외부와 연결될 필요가 있다.
도커는 컨테이너에 외부와의 네트워크를 제공하기 위해 컨테이너마다 가상 네트워크 인터페이스를 호스트에 생성하며 이 인터페이스 이름은 veth로 시작한다. veth 인터페이스는 사용자가 직접 생성하지 않아도 되며 컨테이너가 생성될 때 도커엔진에 의해 자동 생성된다.
Docker0
Docker0 브리지의 각 컨테이너의 veth 인터페이스와 바인딩되며, 호스트OS의 eth0 인터페이스와 이어주는 역할을 한다.
특징은 다음과 같다.
- IP 는 자동으로 172.17.42.1 로 설정 되며 16 bit netmask(255.255.0.0) 로 설정된다.
- 이 IP는 DHCP를 통해 할당 받는 것은 아니며, docker 내부 로직에 의해 자동 할당 받는 것이다.
- docker0 는 일반적인 interface가 아니며, virtual ethernet bridge 이다.
Docker Network 기능
도커에서 기본적으로 쓸 수 있는 네트워크는 docker network ls 명령어로 확인가능하다.
# docker network ls
기본적으로 bridge, host, none 네트워크가 있는 것 을 알 수있다. 브리지 네트워크는 컨테이너를 생성 할 때 자동으로 연결되는 docker0 브리지를 활용하도록 설정되었으며 네트워크는 172.17.0.x IP 대역을 순차적으로 할당한다.
'Cloud & NoSQL & Middleware > Docker' 카테고리의 다른 글
Docker Network (3) - host, none, container network (0) | 2018.09.18 |
---|---|
Docker Network (2) - 브리지(bridge) network (0) | 2018.09.17 |
Docker Container - 명령어 & Volume (0) | 2018.09.09 |
Docker Engine, image (0) | 2018.09.08 |
Docker? (0) | 2018.09.08 |