>  기사  >  운영 및 유지보수  >  Docker에서 IP를 지정하는 방법

Docker에서 IP를 지정하는 방법

PHPz
PHPz원래의
2023-04-19 11:36:236663검색

클라우드 컴퓨팅과 컨테이너화 기술의 인기로 Docker는 인기 있는 컨테이너화 솔루션이 되었습니다. Docker 컨테이너는 기본적으로 호스트 시스템의 IP 주소를 사용하므로 경우에 따라 Docker 컨테이너에 대한 특정 IP 주소를 지정해야 합니다. 이번 글에서는 Docker 컨테이너에서 IP 주소를 지정하는 방법에 대해 설명하겠습니다.

Docker 컨테이너에 대한 IP 주소 할당

Docker에서 컨테이너의 IP 주소는 Docker 데몬에 의해 동적으로 할당됩니다. 기본적으로 호스트의 IP 주소를 사용합니다. 이 경우 모든 Docker 컨테이너는 호스트의 IP 주소를 통해 통신할 수 있습니다.

이 기본 설정은 대부분의 애플리케이션에 충분하지만 경우에 따라 Docker 컨테이너에 고정 IP 주소를 지정해야 할 수도 있습니다.

Docker 컨테이너의 IP 주소 지정

Docker 컨테이너의 고정 IP 주소를 지정하는 방법에는 두 가지가 있습니다. VLAN 또는 macvlan 네트워크 프로필을 통해 Docker 컨테이너를 호스트의 물리적 네트워크에 연결하고 고정 IP 주소를 사용하도록 구성할 수 있습니다. 또한 브리지 네트워킹 모드를 사용하여 컨테이너에 대한 자체 네트워크를 설정한 다음 고정 IP 주소를 사용하도록 구성할 수 있습니다.

방법 1: VLAN 또는 macvlan 네트워크 사용

VLAN과 macvlan 네트워크는 각각 가상 LAN과 물리적 LAN의 개념입니다. Docker 컨테이너를 호스트의 물리적 네트워크에 연결하고 고정 IP 주소를 할당할 수 있습니다. 이 접근 방식의 가장 큰 장점은 Docker 컨테이너와 호스트 시스템이 동일한 네트워크를 공유하므로 컨테이너가 외부 장치와 직접 통신할 수 있다는 것입니다.

VLAN 또는 macvlan 네트워크를 사용하는 단계는 다음과 같습니다.

  1. VLAN 또는 macvlan 네트워크 생성

Docker 컨테이너를 물리적 네트워크에 연결하려면 먼저 VLAN 또는 macvlan 네트워크를 생성해야 합니다. 다음 명령을 사용하여 VLAN 네트워크를 생성할 수 있습니다.

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

이 명령은 192.168.1.0/24 서브넷과 192.168.1.1 게이트웨이를 사용하는 mynetwork라는 VLAN 네트워크를 생성합니다. 또한 상위 네트워크 인터페이스가 eth0임을 지정합니다. 이 예에서 eth0은 호스트 시스템의 네트워크 인터페이스입니다.

  1. Docker 컨테이너를 생성하고 이를 VLAN 또는 macvlan 네트워크에 연결합니다.

다음으로 VLAN 또는 macvlan 네트워크에 Docker 컨테이너를 생성해야 합니다. 다음 명령을 사용하여 Docker 컨테이너를 생성하고 이를 mynetwork 네트워크에 연결합니다.

docker run -itd --name mycontainer --network mynetwork --ip 192.168.1.10 busybox

이 명령은 mycontainer라는 Docker 컨테이너를 생성하고 이를 mynetwork 네트워크에 연결합니다. 또한 고정 IP 주소 192.168.1.10을 컨테이너에 할당합니다.

이제 호스트의 IP 주소를 사용하지 않고도 mycontainer 컨테이너와 통신할 수 있습니다. 또한 다른 장치는 고정 IP 주소 192.168.1.10을 통해 이 컨테이너에 액세스할 수 있습니다.

방법 2: 브리지 네트워크 사용

브리지 네트워크는 Docker에서 일반적으로 사용되는 네트워크 모드 중 하나입니다. 이를 통해 Docker 컨테이너에 대한 새 네트워크를 생성하고 고정 IP 주소를 사용하도록 구성할 수 있습니다. 이 접근 방식을 사용하면 Docker 컨테이너가 완전히 격리되며 호스트 또는 다른 컨테이너와 네트워크를 공유할 수 없습니다.

브리지 네트워크를 사용하는 단계는 다음과 같습니다.

  1. 브리지 네트워크 만들기

Docker 컨테이너용 새 네트워크를 만들려면 다음 명령을 사용하세요.

docker network create --subnet=172.18.0.0/16 mybridge

이 명령은 mybridge라는 이름의 브리지 네트워크를 만들고 서브넷을 172.18.0.0/16으로 지정합니다.

  1. Docker 컨테이너에서 작동하는 웹 애플리케이션 실행

다음으로 Docker 컨테이너에서 작동하는 웹 애플리케이션을 실행해야 합니다. 다음 명령을 사용하여 nginx 웹 서버 컨테이너를 시작합니다.

docker run -itd --name mynginx --network mybridge nginx

이 명령은 mybridge 네트워크에서 mynginx라는 Nginx 컨테이너를 시작합니다.

  1. Docker 컨테이너의 고정 IP 주소 지정

이제 mynginx 컨테이너의 고정 IP 주소를 지정해야 합니다. 다음 명령을 사용하여 컨테이너에 고정 IP 주소를 할당합니다.

docker network connect --ip 172.18.0.2 mybridge mynginx

이 명령은 IP 주소 172.18.0.2를 mynginx 컨테이너에 할당합니다. 이제 다른 공용 IP 주소와 마찬가지로 이 IP 주소를 사용하여 액세스할 수 있습니다.

요약

Docker 컨테이너의 IP 주소는 Docker 데몬에 의해 동적으로 할당됩니다. 기본적으로 호스트의 IP 주소를 사용합니다. 그러나 경우에 따라 Docker 컨테이너에 고정 IP 주소를 지정해야 할 수도 있습니다. 우리는 두 가지 방법을 논의했습니다. VLAN 또는 macvlan 네트워크를 사용하여 Docker 컨테이너를 호스트의 물리적 네트워크에 연결하고 고정 IP 주소로 설정하거나 브리지 네트워크 모드를 사용하여 컨테이너에 대한 자체 네트워크를 설정하고 구성할 수 있습니다. 고정 IP 주소를 사용하려면 이제 Docker 컨테이너에 특정 IP 주소를 할당하기 위해 필요에 맞는 방법을 선택할 수 있습니다.

위 내용은 Docker에서 IP를 지정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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