Docker

[Docker] docker network mode 간단 정리

IT-PAPA 2024. 10. 11. 06:59
728x90
반응형

Docker는 다양한 네트워크 모드를 제공하여 컨테이너 간 및 컨테이너와 외부 간의 통신을 설정할 수 있습니다. 주요 네트워크 모드는 다음과 같습니다:

1. Bridge 모드

Bridge 모드는 Docker의 기본 네트워크 모드입니다. 컨테이너는 docker0이라는 가상 브리지 네트워크를 통해 서로 통신합니다. 각 컨테이너는 docker0 브리지에 연결된 가상 이더넷 인터페이스를 통해 IP 주소를 할당받습니다. 이 모드는 동일한 호스트 내의 컨테이너 간 통신에 적합합니다.

$ docker network ls

NETWORK ID          NAME                DRIVER              SCOPE
7abfb3c2d5f6        bridge              bridge              local

2. Host 모드

Host 모드는 컨테이너가 호스트의 네트워크 스택을 공유하도록 합니다. 즉, 컨테이너는 호스트와 동일한 네트워크 인터페이스를 사용하게 됩니다. 이 모드는 네트워크 성능이 중요한 경우에 유용하지만, 포트 충돌에 주의해야 합니다.

$ docker run -d --net host --name mycontainer busybox

3. None 모드

None 모드는 컨테이너에 네트워크 인터페이스를 할당하지 않습니다. 컨테이너는 외부 네트워크와 통신할 수 없으며, 내부적으로만 lo 인터페이스를 사용합니다. 이 모드는 네트워크 격리가 필요한 경우에 사용됩니다.

$ docker run -d --net none --name mycontainer busybox

4. Macvlan 모드

Macvlan 모드는 컨테이너가 호스트의 네트워크 인터페이스를 가상화하여 직접 네트워크에 연결되도록 합니다. 각 컨테이너는 고유한 MAC 주소와 IP 주소를 가지며, 실제 네트워크에 직접 연결됩니다. 이 모드는 네트워크 격리가 필요하고, 고유한 네트워크 설정이 필요한 경우에 유용합니다.

$ docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macvlan_network

5. Ipvlan 모드

Ipvlan 모드는 Macvlan과 유사하지만, IP 주소를 기반으로 네트워크를 가상화합니다. 이 모드는 네트워크 성능이 중요한 경우에 유용합니다.

$ docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 ipvlan_network

이 외에도 Docker는 사용자 정의 네트워크 드라이버를 지원하여 다양한 네트워크 구성을 할 수 있습니다. 각 네트워크 모드는 특정 사용 사례에 맞게 선택할 수 있으며, 필요에 따라 적절한 모드를 사용하면 됩니다

728x90
반응형
LIST