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

+ Recent posts