[Docker] network 사용방법

네트워크란 서로 물리적 또는 가상으로 통신할 수 있는 두 개 이상의 장치 그룹입니다. 도커 네트워크는 도커가 컨테이너 간의 통신을 가능하게 하기 위해 생성한 가상 네트워크입니다. 동일한 호스트에서 실행되는 두 컨테이너는 호스트 머신에 포트를 노출하지 않아도 서로 통신할 수 있습니다.

도커 네트워크 리스트

도커에는 기본 네트워크 드라이버가 여러 개 있으며, 일부는 플러그인을 통해 설치할 수 있습니다. 도커에서 네트워크 리스트를 보려면 다음 명령어를 사용합니다.

docker network ls

도커 네트워크 드라이버 유형

  • bridge: 드라이버 종류를 지정하지 않고 컨테이너를 생성하면 기본 네트워크인 브리지 네트워크에서 생성됩니다.
  • host: 컨테이너는 IP 주소를 가지지 않고 시스템 네트워크에서 직접 생성됩니다.
  • none: 컨테이너에 IP 주소가 할당되지 않으며 외부나 다른 컨테이너에서 접근할 수 없습니다.
  • overlay: 여러 도커 데몬 간의 연결을 가능하게 하여 다른 도커 스웜 서비스가 서로 통신할 수 있게 합니다.
  • ipvlan: 사용자는 ipv4 및 ipv6 주소 지정을 제어할 수 있습니다.
  • macvlan: 컨테이너에 mac 주소를 할당할 수 있게 합니다.

도커 네트워크 생성

--driver 옵션과 driver-name은 생략 가능합니다. 생략하면 bridge로 생성됩니다. 생성 후 docker network ls로 확인할 수 있습니다.

docker network create --driver <driver-name> <network-name>

도커 네트워크 연결

실행 중인 컨테이너를 기존 네트워크에 연결할 수 있습니다.

docker network connect <network-name> <container id/name>

도커 네트워크 상세 검사

도커 네트워크에 세부 정보를 확인할 수 있습니다.

docker network inspect <network-name>

도커 네트워크 연결 해제

네트워크에서 컨테이너를 제거할 수 있습니다.

docker network disconnect <network-name> <container-name>

도커 네트워크 삭제

네트워크를 제거할 수 있습니다.

docker network rm <network-name>

 

컨테이너는 IP 주소, 게이트웨이, 라우팅 테이블, DNS 서비스 등 네트워킹 정보를 통해 어떤 네트워크 인터페이스를 사용했는지 알 수 있습니다.