열렬히.뛰기

도커 네트워크 : 관리

가상화기술 > Docker : 기초 이론 > 도커 네트워크 : 관리

도커 네트워크란?

컨테이너들이 서로 통신할 수 있게 하는 가상의 네트워크 인터페이스. 이를 통해 컨테이너 간의 격리를 유지하면서도 필요에 따라 통신을 가능하게 함. 도커 네트워크는 다양한 네트워크 드라이버를 제공하여 다른 네트워킹 요구사항을 지원. 예를 들어, bridge, host, overlay, macvlan 등이 있음.

도커 네트워크 타입

1. Bridge 네트워크

Bridge 네트워크는 도커의 기본 네트워크 드라이버로, 일반적으로 개별 컨테이너를 동일한 호스트 내에서 서로 격리하면서 통신할 수 있도록 설계. 각각의 컨테이너는 bridge 네트워크를 통해 가상의 네트워크 브리지에 연결되며, 이를 통해 컨테이너 간, 그리고 호스트와의 통신이 가능.

2. Host 네트워크

Host 네트워크를 사용하면 컨테이너가 호스트의 네트워크 스택에 직접 액세스. 즉, 컨테이너는 호스트의 IP 주소와 포트를 직접 사용할 수 있으며, 네트워크 격리가 없음! 성능이 매우 중요하거나 포트 매핑을 피하고 싶을 때 유용.

3. Overlay 네트워크

Overlay 네트워크는 다중 도커 호스트 간에 컨테이너를 연결하기 위해 설계. 이 드라이버를 사용하면, 다른 서버에 위치한 컨테이너들이 마치 같은 네트워크에 있는 것처럼 서로 통신 가능함. \대규모의 애플리케이션과 서비스를 클러스터링할 때 유용.

4. Macvlan 네트워크

Macvlan 네트워크는 컨테이너에게 독립적인 MAC 주소를 제공하여, 마치 실제 물리적 장치처럼 네트워크에 직접 연결된 것처럼 보이게 함. 이를 통해 기존의 VLAN 구조나 네트워크 구성에 컨테이너를 쉽게 통합할 수 있음. Macvlan은 컨테이너가 네트워크에서 실제 물리적 장치처럼 동작해야 할 때 유용.

각 네트워크 타입의 차이점

  • 격리 수준: Bridge와 Overlay는 강력한 네트워크 격리를 제공하지만, Host는 격리를 제공하지 않음.
  • 성능: Host 네트워크는 중간 계층이 없기 때문에 Bridge 네트워크보다 더 높은 네트워크 성능을 제공.
  • 배포 범위: Overlay 네트워크는 다중 호스트 배포에 적합하며, Bridge는 일반적으로 단일 호스트 내 컨테이너 간 통신에 사용

도커 네트워크 만들기

bash
docker network create --driver bridge (이름)

도커 네트워크 관리

bash
# 네트워크 목록 확인
docker network ls

# 네트워크 상세 정보 확인
docker network inspect 네트워크_이름

# 컨테이너를 네트워크에 연결
docker network connect 네트워크_이름 컨테이너_이름

# 컨테이너를 네트워크에서 분리
docker network disconnect 네트워크_이름 컨테이너_이름

도커 네트워크 삭제

bash
docker network rm 네트워크_이름