>  기사  >  운영 및 유지보수  >  Linux에서 컨테이너 네트워킹을 구성하는 방법

Linux에서 컨테이너 네트워킹을 구성하는 방법

王林
王林원래의
2023-07-05 15:33:07764검색

Linux에서 컨테이너 네트워크를 구성하는 방법

오늘날 클라우드 컴퓨팅 시대에 컨테이너화 기술은 개발자들의 선호도가 점점 높아지고 있습니다. 현재 가장 인기 있는 컨테이너화 플랫폼인 Docker는 편리하고 효율적인 컨테이너 관리 방법을 제공합니다. 컨테이너의 네트워크 구성은 컨테이너화된 애플리케이션 배포에서도 특히 중요합니다. 이 글에서는 컨테이너 간 통신 및 외부 세계와의 상호 연결을 촉진하기 위해 Linux에서 컨테이너 네트워크를 구성하는 방법을 소개합니다.

1. 네트워크 모드 이해

Docker는 실제 필요에 따라 적절한 방법을 선택해야 합니다.

  1. 브리지(브리지 모드): 기본 모드, 가상 네트워크(브리지)를 생성하고 각 컨테이너를 이 네트워크에 연결합니다. 컨테이너는 자체 IP 주소를 사용하여 이 네트워크 내에서 통신할 수 있습니다.
  2. 호스트(호스트 모드): 컨테이너와 호스트는 네트워크를 공유하며, 컨테이너는 호스트의 IP 주소와 네트워크 인터페이스를 직접 사용합니다.
  3. Overlay(오버레이 네트워크): 다중 호스트 Docker 환경에서 사용되는 네트워크 모드는 호스트 간 컨테이너 통신을 달성할 수 있습니다.
  4. MacVlan(MAC VLAN): 컨테이너는 물리적 네트워크의 특정 인터페이스 MAC 주소와 연결되어 실제 물리적 네트워크 주소를 직접 얻습니다.

2. 브리지 모드 네트워크 구성

브리지 모드는 외부 네트워크와 격리되면서 컨테이너 간 통신을 구현할 수 있는 Docker의 가장 일반적으로 사용되는 네트워크 구성 방법입니다. 다음은 브리지 모드 네트워크를 구성하는 단계입니다.

  1. 네트워크 만들기
$ docker network create mynetwork
  1. 컨테이너 시작
$ docker run -d --name mycontainer --network mynetwork nginx

위 명령은 mycontainer라는 컨테이너를 시작하고 이를 mynetwork 네트워크에 추가합니다.

  1. 컨테이너 간 통신

동일한 네트워크의 컨테이너는 컨테이너 이름을 사용하여 통신할 수 있으며, 컨테이너 이름은 해당 IP 주소로 해석될 수 있습니다.

$ docker exec -it mycontainer1 ping mycontainer2 

이 명령을 사용하여 컨테이너 내에서 다른 컨테이너를 ping할 수 있습니다.

3. 호스트 모드 네트워크 구성

호스트 모드 네트워크를 사용하면 컨테이너가 호스트의 네트워크 인터페이스와 IP 주소를 직접 사용할 수 있으므로 컨테이너와 호스트가 네트워크 네임스페이스를 공유합니다. 다음은 호스트 모드 네트워킹을 구성하는 단계입니다.

  1. 컨테이너 시작
$ docker run -d --name mycontainer --network host nginx

위 명령은 mycontainer라는 컨테이너를 시작하고 이를 호스트 네트워크에 직접 사용합니다.

  1. 컨테이너와 호스트 통신

호스트 모드에서 컨테이너는 호스트의 네트워크 인터페이스와 IP 주소를 직접 사용하여 호스트와 통신합니다.

$ docker exec -it mycontainer ping localhost 

위 명령은 컨테이너의 호스트 주소를 ping할 수 있습니다.

4. 오버레이 네트워크 구성

오버레이 네트워크는 일반적으로 다중 노드 Docker 환경에서 호스트 간 컨테이너 통신을 달성하는 데 사용됩니다. 오버레이 네트워크를 구성하는 단계는 다음과 같습니다.

  1. 네트워크 만들기
$ docker network create -d overlay mynetwork
  1. 컨테이너 시작
$ docker service create --name myservice --network mynetwork nginx

위 명령을 사용하여 mynetwork 네트워크를 만들 때 네트워크에 서비스를 추가하세요.

  1. 컨테이너 간 통신

오버레이 네트워크에서는 서비스 이름을 사용하여 컨테이너 간 통신을 수행할 수 있습니다.

$ docker exec -it mycontainer1 ping myservice 

위 명령은 컨테이너의 서비스를 ping할 수 있습니다.

5. MAC VLAN 네트워크 구성

MAC VLAN 네트워크 모드는 컨테이너를 물리적 네트워크의 인터페이스 MAC 주소와 연결하고 실제 물리적 네트워크 주소를 직접 얻을 수 있습니다. 다음은 MAC VLAN 네트워크를 구성하는 단계입니다.

  1. 네트워크 만들기
$ docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
  1. 컨테이너 시작
$ docker run -d --name mycontainer --network mynetwork nginx

위 명령을 사용하여 mynetwork 네트워크를 생성할 때 컨테이너를 추가하세요.

  1. 컨테이너는 물리적 네트워크와 통신합니다

MAC VLAN 네트워크에서는 컨테이너가 물리적 네트워크의 인터페이스를 사용하여 직접 통신할 수 있습니다.

$ docker exec -it mycontainer ping 192.168.1.2 

위 명령은 컨테이너의 물리적 네트워크에 있는 주소를 ping할 수 있습니다.

요약

위의 소개를 통해 Linux에서 컨테이너 네트워크를 구성하는 방법을 이해했습니다. 실제 필요에 따라 적절한 네트워크 모드를 선택하고 해당 단계에 따라 구성할 수 있습니다. 네트워크 구성은 컨테이너화된 애플리케이션의 배포 및 운영에 매우 중요합니다. 이 문서가 도움이 되기를 바랍니다.

위 내용은 Linux에서 컨테이너 네트워킹을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.