티스토리 뷰

Skill

[Docker] - Docker Network 모드 4가지

영지는 달리는중 2020. 10. 22. 15:01

Docker에서 제공하는 Network 모드는 총 4개가 있다. (Docker Swarm과 관련된 모드 제외)

Bridge 모드

  • docker0 네트워크를 bridge 삼아 구성되는 네트워크 구조이다. 컨테이너가 생성되는 경우 각각의 namespace(대역)를 할당받고 각각의 독립된 namespace의 네트워크 인터페이스가 docker0에 연결되어 네트워크가 이루어지게 된다

도커에서 네트워크 설정을 별도로 하지 않으면 디폴트로 작용되는 모드이다. 도커가 설치되면 Host OS에 docker0이라는 네트워크 인터페이스가 생성된다(Virtual Interface) Host OS에서 nextwork interface를 검색해보면 docker0이라는 virtual interface를 확인할 수 있다

root@yapp-17th-android-1:~# ip addr show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:b0:6d:7e:ef brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

docker0 의 IP는 자동으로 172.17.0.1로 설정되며, subnet mask는 255.255.0.0 즉, 172.17.0.1/16 으로 설정된다. 

이 subnet 정보는 앞으로 container가 생성될때 마다 할당 받게 될 IP의 range를 결정하게 된다. 즉, 모든 container는 172.17.XX.YY 대역에서 IP를 하나씩 할당 받도록 될 것이다. 

 

docker0 interface의 특징

-ip 자동으로 172.17.0.1로 지정(2020년 기준)

-ip는 DHCP로 할당받은 것이 아닌 Docker 내부로직에 의해 할당

*)DHCP(Dynamic Host Configuration Protocol) : 호스트 ip 구성 관리를 단순화하는 ip 표준

-docker0은 virtual ethernet bridge

-L2 통신 기반

 

docker0 interface와 Container의 연결 방식

위의 그림을 예로 들면 docker0에 3개의 container가 birdge 방식으로 연결되어 있으므로 3개의 veth~라고 하는 interface가 생성된다.

그리고 그 interface들은 각container 내부의 eth0 interface와 연결되어있다. 실제로 컨테이너의 네트워크 설정 부분중 Gateway를 보면 docker0의 ip가 적혀있다. 이 ip 주소는 docker0 interface의 ip 주소이다. 따라서 container가 외부로 통신할 때는 무조건 docker0 interface를 지나야 한다. 


Host 모드

  • 생성되는 컨테이너가 별도의 네트워크 인터페이스를 생성하지 않고 docker host와 네트워크를 공동으로 사용하는 구조이다. Bridge를 쓰지 않기 때문에 컨테이너에서 포트를 노출하지 않는 경우 사용할 수가 없다.

Container 모드

  • 컨테이너간의 공통된 네트워크 인터페이스를 사용하는 방식이다. 즉 컨테이너를 생성하여도 별도의 네트워크 인터페이스가 생성되지 않는다. 

None 모드

  • --net=none 옵션으로 컨테이너 생성 시 격리된 네트워크 영역을 갖기는 하지만 네트워크 인터페이스가 없는 컨테이너가 생성되는 구조이다. 보통 사용자 정의 인터페이스를 사용할 때 네트워크 환경을 깔끔하게 만든 다음 사용자 정의 인터페이스를 적용하기 위해 none 모드를 사용한다.

참고 블로그

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함