1 분 소요

Networking overview

Networking overview(Docker Documentation) 의 내용을 정리한 글입니다.


Docker 컨테이너 및 서비스는 함께 연결하거나 Docker 가 아닌 워크로드(앱)와 연결할 수 있습니다.


네트워크 드라이버

Docker의 네트워킹 하위시스템은 드라이버를 사용하여 연결할 수 있습니다.
기본적으로 다음 드라이버들이 핵심 네트워킹 기능을 제공합니다.

  • bridge 네트워크: 기본으로 생성하는 네트워크 드라이버입니다.
    일반적으로 통신이 필요한 독립 실행형 컨테이너에서 앱을 실행할 때 사용됩니다.
  • host 네트워크: 독립형 컨테이너처럼 컨테이너와 Docker 호스트 간의 네트워크 격리를 하지 않고 호스트의 네트워킹을 직접 사용합니다.
  • overlay 네트워크: 스웜 서비스와 독립 실행형 컨테이너 간 또는 서로 다른 Docker 데몬에 있는 독립 실행형 컨테이너 간에 서로 통신할 때 사용됩니다.
    이 네트워크를 사용하면 컨테이너 간에 OS 수준으로 라우팅할 필요가 없습니다.
  • ipvlan 네트워크: 사용자가 IPv4 및 IPv6 주소 지정에 대해 완전히 컨트롤할 수 있습니다.
  • macvlan 네트워크: 컨테이너에 MAC 주소를 할당하여 네트워크에서 물리적 장치로 표시합니다.
    Docker 데몬은 MAC 주소의 컨테이너로 트래픽을 라우팅합니다. Docker 호스트의 네트워크 스택을 통해 라우팅되지 않고 물리적 네트워크에 직접 연결되는 레거시 앱을 다룰 때 좋습니다.
  • none 네트워크: 컨테이너의 모든 네트워킹을 비활성화합니다. 일반적으로 사용자 지정 네트워크 드라이버와 함께 사용됩니다. none 은 스웜 서비스에는 사용할 수 없습니다.
  • Network plugins: Docker에 3rd-Party 네트워크 플러그인을 설치하고 사용할 수 있습니다. 이러한 플러그인은 Docker Hub 또는 타사 공급업체에서 이용할 수 있습니다.




요약

  • 사용자가 정의한 bridge 네트워크는 동일한 Docker 호스트에서 여러 컨테이너가 통신할 때 가장 좋습니다.
  • host 네트워크는 네트워크 스택을 Docker 호스트와 격리하지 않고, 컨테이너의 다른 부분을 격리하는 경우에 가장 좋습니다.
  • overlay 네트워크는 서로 다른 Docker 호스트에서 실행되는 컨테이너가 통신이 필요하거나 Swarm 서비스를 사용하여 여러 앱이 함께 동작할 때 가장 좋습니다.
  • macvlan 네트워크는 VM 설정에서 마이그레이션하거나 컨테이너가 네트워크에서 각각 고유한 MAC 주소를 가진 물리적 호스트처럼 보여야 할 때 가장 좋습니다.
  • 3rd-Party 네트워크 플러그인을 사용하면 Docker를 특수 네트워크 스택과 통합할 수 있습니다.




다음 단계

이 문서는 Docker 네트워크 작동 방식에 대한 OS별 세부 정보를 다루지 않았습니다.

따라서 Docker가 Linux에서 iptables 규칙을 조작하는 방법이나 Windows 서버에서 라우팅 규칙을 조작하는 방법이나 Docker가 패킷을 형성 및 캡슐화하거나 암호화를 처리하는 방법에 대한 자세한 정보는 Docker 와 iptables를 참조하세요.

댓글남기기