다음은 네트워크 드라이버를 overlay
사용하는 대신 우분투에서 스웜 클러스터용 네트워크 드라이버를 생성하기 위해 실행하는 명령입니다.bridge
$ docker network create -d overlay xyz
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
9c431bc9fec7 bridge bridge local
88a4c6a29fa4 docker_gwbridge bridge local
10a4bc649237 host host local
o79qllmq86xw ingress overlay swarm
417aca5efd6b none null local
nsteeoxfu9b1 xyz overlay swarm
$
$ docker service create --name service_name --network xyz -p 80:80 --repicas 12 <image>
옵션을 사용하는 서비스 명령의 구체적인 목적은 무엇입니까 --network xyz
?
편집하다
이것이 네트워크 네임스페이스의 작동 방식과 관련이 있습니까? 여기서 언급한...
그리고
그렇다면 각 네트워크 네임스페이스는 동일한 호스트에 있는 전용(별도) TCP-IP-이더넷 레이어 스택입니까?
답변1
Docker는 다양한 유형의 네트워크 드라이버를 사용하여 컨테이너와 외부 네트워크 간에 통신합니다. 기본 네트워크 드라이버는 bridge
드라이버입니다. 이 드라이버를 사용하면 소프트웨어 브리지를 통해 동일한 브리지에 연결된 컨테이너가 서로 통신할 수 있습니다. 서로 다른 브리지에 연결된 컨테이너는 서로 격리되어 있습니다. 브리지 드라이버의 범위도 단일 호스트로 제한되므로 서로 다른 호스트에 있는 컨테이너는 서로 통신할 수 없습니다.
Docker Swarm을 사용하는 경우 일반적으로 다중 호스트 설정이 있고 각 호스트에서 docker 데몬을 실행합니다. 이 시나리오에서 통신을 용이하게 하려면 overlay
드라이버가 필요합니다. 각 docker 데몬은 이러한 호스트별 네트워크의 상단(오버레이)에 있는 bridge
네트워크("docker_gwbridge"라는 이름)를 사용합니다. overlay
그런 다음 드라이버는 overlay
다양한 Docker 데몬 간의 통신을 허용하여 Swarm 기능을 용이하게 할 수 있습니다.
자세한 내용은 다음을 참조하세요.네트워킹에 대한 Docker 문서.
질문의 두 가지 특정 명령은 새로운 overlay
네트워크를 생성하고 사용합니다. 이것도커 네트워크 생성새 네트워크를 생성하는 명령입니다 overlay
. 이것도커 서비스 생성이 명령은 새 서비스를 정의하고 이전에 생성된 네트워크에 연결되어야 함을 지정합니다 overlay
.