[Docker] Docker의 네트워크들 종류 정리

NewNewDaddy·2023년 10월 2일
0

DOCKER-KUBERNETES

목록 보기
3/10

0. INTRO

  • 도커에는 통신을 위한 네트워크가 크게 5가지가 있다. 이들의 특성에 대해 간단하게 알아보자.
    ## 현재 도커 네트워크 종류들 조회 명령
    docker network ls

1. Docker Network

1. Bridge Network

  • 도커 네트워크 중 가장 기본이 되는 망이다.

  • Docker를 설치하게 되면 자동으로 Host machine의 Network interface에 Docker0라는 Virtual interface가 생성된다.

  • Docker0 bridge의 IP는 자동으로 172.17.0.1/16 으로 할당된다.

  • 새로운 컨테이너를 생성하면 기본적으로 설치된 Bridge Network 망에 해당 컨테이너가 위치하게 되고 Docker0를 통하여 외부 인터넷과 연결된다.

  • User Defined Bridge Network(사용자 정의 Bridge Network)

    ## 커스텀한 bridge network 생성
    docker network create --driver bridge mybridge
    
    ## 컨테이너 생성시 네트워크 지정
    docker run -dt --name mybridge-cont --network mybridge ubuntu

2. Host Network

  • Host 컴퓨터와 동일한 네트워크 환경을 사용하는 모드이다. 컨테이너의 호스트 이름도 호스트 머신의 이름과 동일하다.
  • Host의 네트워크를 그대로 사용하기 때문에 Port Forwarding이 필요없다.
  • NAT가 필요하지 않기 때문에 컨테이너가 광범위한 포트를 처리해야 하는 상황과 성능 향상 및 최적화가 필요할 경우에 사용된다.

3. None Network

  • 외부망 및 내부의 다른 컨테이너들과도 격리된 상태의 망이다.
  • 아무 네트워크를 쓰지 않고 내부에 IO 인터페이스만 존재하는 모드이다

4. Overlay Network

  • Docker swarm 클러스터에 있는 network 타입으로 클러스터 내 각 노드들에서 서비스되는 컨테이너들끼리 통신이 가능하도록 기본적으로 구축되는 네트워크.

  • User Defined Bridge Network(사용자 정의 Bridge Network)

    ## mynetwork라는 이름의 새로운 overlay network 생성
    docker network create --driver overlay mynetwork
    
    ## mynetwork 망을 사용하는 docker swarm 서비스 생성
    docker service create --name myoverlay --network mynetwork --replicas 3 nginx
  • Overlay Network에 대한 보안

    • --opt encrypted=true 조건 추가를 통해 Overlay Network에 대한 보안 모드를 활성화시킬 수 있다.
    • 해당 조건을 추가하면 노드들의 네트워크간에 IPSEC 터널이 생성된다. 또한 이 터널은 AES 알고리즘을 사용하며 12시간마다 key rotation이 발생한다. 단, 윈도우 환경에서는 적용되지 않는다.
      docker network create --opt encrypted=true --driver overlay sec-mynetwork
profile
데이터 엔지니어의 작업공간 / #PYTHON #CLOUD #SPARK #AWS #GCP #NCLOUD

0개의 댓글