Cloud/Docker
Docker Container Network
퐁스
2020. 4. 17. 19:57
Docker Container는 bridge, overlay, macvlan network 등을 통해서 네트워크를 형성한다. 컨테이너 관점에서 볼 때 네트워크 인터페이스로는 IP, 게이트웨이, 라우팅 테이블, DNS등이 있다. 컨테이너 관점에서 네트워크를 살펴본다.
컨테이너 생성 시 포트는 -p 혹은 --publish 옵션을 통해 오픈할 수 있다. 포트 오픈 시 호스트의 포트와 컨테이너의 포트를 매핑해주는 룰이 생기며 다양한 예시들을 가지고 있다.
Falg Value | Description |
-p 8080:80 | 호스트의 포트 8080과 컨테이너 포트 80을 매핑 |
-p 192.168.1.100:8080:80 | 호스트의 포트 8080과 192.168.1.110:80을 매핑 |
-p 8080:80/udp | 호스트의 포트 8080과 컨테이너의 UDP 포트 80을 매핑 |
-p 8080:80/tcp -p 8080:80/udp |
호스트의 TCP 포트 8080을 컨테이너의 TCP 포트 80과 매핑 호스트의 UDP 포트 8080을 컨테이너의 UDP 포트 80과 매핑 |
컨테이너는 /etc/hosts, /etc/resolv.conf의 Docker 데몬의 DNS 설정을 상속받는다. 이런 설정을 제어할 수 있다.
Value | Description |
--dns | DNS 서버 주소, 여러 DNS 등록시 --dns 플래그를 사용 |
--dns-search | 여러 DNS 검색을 위해서 사용 |
--dns-opt | DNS 옵션 및 해당 값을 나타내는 키-값 쌍 |
--hostname | 컨테이너가 자체적으로 사용하는 호스트 이름, 지정하지 않으면 컨테이너 ID가 기본값 |