1. 개요
<Docker 가상 환경 구축 입문>의 <Chapter 6. Docker 컨테이너 사이의 네트워크를 구축하자>를 읽고 정리한 내용으로,
이번 문서의 내용은 Docker 컨테이너의 네트워크에 대한 소개입니다.
2. 사용자 정의 브릿지 네트워크
- 브릿지 네트워크란, 단일 호스트 내에서 구성되는 네트워크로 비교적 소규모 네트워크 구성 시에 많이 사용
- 네트워크를 지정하지 않고 컨테이너를 기동할 경우 디폴트 브릿지 네트워크에 접속됨
-
디폴트로 컨테이너에 할당되는 브릿지 네트워크와 별도로 사용자 정의 브릿지 네트워크를 구성할 수 있음
$ docker network create [network 이름] $ docker network connect [network 이름] [컨테이너 이름]
-
Docker Network 관련 확인 커맨드
$ docker network ls #네트워크 목록 표시 $ docker network inspect [network 이름] #특정 네트워크의 상세 설명 표시
3. None Network와 Host Network
- None Network: 네트워크 인터페이스를 가지지 않는 상태로 두고 싶을 경우 사용하며 주로 검증 목적으로 사용
- Host Network: Docker Host와 동일한 네트워크 인터페이스를 컨테이너에서 사용하고 싶을 경우 사용
- Host Network를 사용하면 호스트 가상 머신과 같은 네트워크 인터페이스를 가지게 되므로 포트포워딩할 필요없이 바로 접근 가능
- None network는 네트워크 드라이버가 'null'로 지정된 상태
-
None network 연결을 위해서는 다음과 같은 명령을 수행해야 함
(컨테이너 명: con1, None network 명: none이라고 가정)
$ docker network disconnect bridge con1 #현재 연결되어있는 네트워크 연결 중단 $ docker network connect none con1 #새롭게 연결할 none network와 연결
4. Overlay Network
- 여러개의 호스트를 넘나드는 네트워크를 구축할 때 overlay network 사용
- Overlay Network에는 호스트의 Docker 정보를 보존하기 위한 Key value store 서버가 필요 (예: Consul, Etcd, Zookeeper 등)
-
Overlay Network를 사용하는 Docker Host에서는 다음 포트가 사용됨
TCP 2377 포트 클러스터 관리 통신용 TCP/UDP 7946 포트 노드 간 통신용 UDP 4789 포트 오버레이 네트워크 트래픽 용