단일 시스템에서 Docker 컨테이너 네트워크 (v18.03)를 만드는 방법

Docker를 사용하여 웹앱을 배포하려는 경우 Docker 네트워크에 대한 지식이 필요합니다. Docker는 최근 몇 년 동안 마이크로 서비스 아키텍처를 혁신했습니다. 마이크로 서비스 아키텍처를 기반으로 구축하고 도커와 함께 배포 된 애플리케이션은 매우 유연하고 확장 가능합니다. 이러한 응용 프로그램에는 각각 마이크로 서비스로 실행되는 컨테이너가 두 개 이상 있습니다..


이 경우 앱의 기능적 및 비 기능적 요구 사항을 충족하기 위해 이러한 컨테이너가 서로 통신하는 도커 네트워크를 구축해야합니다..

이러한 앱에는 도커의 사용자 정의 브리지 네트워크. 기본적으로 모든 컨테이너는 네트워크에서 실행되며 다리 그러나 사용자 정의 브리지 네트워크와 다릅니다.

또한 컨테이너를 동일한 네트워크에서 실행하면 보안. 동일한 네트워크에서 실행되는 모든 컨테이너 포트는 서로 노출되지만 외부 세계에는 노출되지 않습니다.

예를 들어 앱이 3 개의 독립형 컨테이너에서 실행중인 경우 프론트 엔드, 백엔드 및 데이터베이스 그런 다음 프런트 엔드 포트만 외부에 노출하면됩니다. 백엔드 및 데이터베이스는 프론트 엔드에서만 액세스 할 수 있으며 외부 네트워크에 노출시키지 않고 동일한 네트워크에서 실행되므로 액세스 할 수 있습니다..

위의 예를 따라 데모를하겠습니다..

사용자 정의 브리지 네트워크를 만드는 방법

다음 명령을 실행하여“my-net”이라는 자체 브리지 네트워크를 만듭니다..

$ sudo docker 네트워크는 my-net을 만듭니다

다음 명령을 실행하여 네트워크 “my-net”이 생성되었고 현재 존재하는 모든 도커 네트워크의 출력에 나열되어 있는지 확인하십시오.

$ sudo docker network LS

네트워크“my-net”의 세부 사항을 보려면 다음 명령을 실행하십시오..

$ sudo docker 네트워크 inspect my-net

비슷한 결과가 나타납니다.

[
{
"이름": "나의 그물",
"신분증":"3b7e1ad19ee8bec9628b18f9f3691adecd2ea3395ec248f8fa57a2ec85aa71c1",
"범위": "현지",
"운전사": "다리",
"EnableIPv6": 거짓,
"IPAM": {
"운전사": "기본",
"옵션": {},
"구성": [
{
"서브넷": "172.18.0.0/16",
"게이트웨이": "172.18.0.1/16"
}
]
},
"내부의": 거짓,
"컨테이너": {},
"옵션": {},
"라벨": {}
}
]

현재이 네트워크에서 컨테이너가 실행되고 있지 않습니다.

자신의 네트워크에서 컨테이너를 실행하는 방법

이제 컨테이너가 3 개인 앱의 예로 돌아가 보겠습니다..

네트워크“my-net”에서“프론트 엔드”컨테이너를 실행하려면 다음 명령을 실행하십시오..

$ sudo docker run –network = my-net 프론트 엔드

플래그를 사용하여 “백엔드”및 “데이터베이스”컨테이너를 유사하게 실행 –network = my-net.

$ sudo docker run –network = my-net 백엔드
$ sudo docker run –network = my-net 데이터베이스

이제 다음 명령을 실행하여 네트워크“my-net”의 세부 정보를 봅니다. 출력에 네트워크 “my-net”에 연결된 세 개의 컨테이너가 모두 표시됩니다..

$ sudo docker 네트워크 inspect my-net

축하합니다! 모든 컨테이너가 맞춤형 브리지 네트워크에서 실행 중이며 서로 통신 할 수 있습니다..

이미 실행중인 컨테이너를 네트워크에 연결하는 방법

이미 실행중인 컨테이너를 네트워크에 연결할 수도 있습니다. 네트워크“my-net”을 만들기 전에“프론트 엔드”컨테이너가 이미 실행 중이라고 가정하고 다음 명령을 사용하여“프론트 엔드”(컨테이너 이름)를“my-net”으로 연결할 수 있습니다..

$ sudo docker 네트워크는 내 인터넷 프론트 엔드를 연결합니다

결론

따라서 작성시 또는 이미 실행 상태 인 후에 독립형 컨테이너를 동일한 네트워크에 쉽게 연결할 수 있습니다. 컨테이너가 할당 된 IP 주소를 통해 수동으로 통신하도록하는 대신 항상 도커 네트워킹을 선호해야합니다..

또한 통신에 IP 주소 대신 동일한 네트워크 내에서 실행되는 컨테이너 내에서 다른 컨테이너의 이름을 사용하는 등의 유연성을 제공합니다..

이 3 가지 최고의 웹 호스팅 서비스를 확인하십시오

FastComet

시작 가격 :
$ 2.95


신뢰할 수 있음
9.7


가격
9.5


사용자 친화적
9.7


지원하다
9.7


풍모
9.6

리뷰 읽기

FastComet 방문

A2 호스팅

시작 가격 :
$ 3.92


신뢰할 수 있음
9.3


가격
9.0


사용자 친화적
9.3


지원하다
9.3


풍모
9.3

리뷰 읽기

A2 호스팅 방문

ChemiCloud

시작 가격 :
$ 2.76


신뢰할 수 있음
10


가격
9.9


사용자 친화적
9.9


지원하다
10


풍모
9.9

리뷰 읽기

ChemiCloud 방문

관련 사용법 기사

  • AWS EC2와 함께 Docker 컨테이너를 사용하는 방법
    전문가
  • AWS EC2와 함께 Docker 컨테이너를 사용하는 방법
    전문가
  • 우분투 18.04에서 도커 컨테이너의 리소스를 제한하는 방법
    전문가
  • Ubuntu 18.04에서 Jenkins 컨테이너를 실행하는 방법
    전문가
  • Ubuntu 18.04 VPS 또는 전용 서버에서 Docker Compose 설치 및 구성 방법
    초보자
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me