네트워크 드라이버를 재정의하는 목적은 무엇입니까?

네트워크 드라이버를 재정의하는 목적은 무엇입니까?

다음은 네트워크 드라이버를 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?

편집하다

이것이 네트워크 네임스페이스의 작동 방식과 관련이 있습니까? 여기서 언급한...

https://youtu.be/kl8roLaLy-g

그리고

https://youtu.be/_WgUwUf1d34

그렇다면 각 네트워크 네임스페이스는 동일한 호스트에 있는 전용(별도) TCP-IP-이더넷 레이어 스택입니까?

답변1

Docker는 다양한 유형의 네트워크 드라이버를 사용하여 컨테이너와 외부 네트워크 간에 통신합니다. 기본 네트워크 드라이버는 bridge드라이버입니다. 이 드라이버를 사용하면 소프트웨어 브리지를 통해 동일한 브리지에 연결된 컨테이너가 서로 통신할 수 있습니다. 서로 다른 브리지에 연결된 컨테이너는 서로 격리되어 있습니다. 브리지 드라이버의 범위도 단일 호스트로 제한되므로 서로 다른 호스트에 있는 컨테이너는 서로 통신할 수 없습니다.

Docker Swarm을 사용하는 경우 일반적으로 다중 호스트 설정이 있고 각 호스트에서 docker 데몬을 실행합니다. 이 시나리오에서 통신을 용이하게 하려면 overlay드라이버가 필요합니다. 각 docker 데몬은 이러한 호스트별 네트워크의 상단(오버레이)에 있는 bridge네트워크("docker_gwbridge"라는 이름)를 사용합니다. overlay그런 다음 드라이버는 overlay다양한 Docker 데몬 간의 통신을 허용하여 Swarm 기능을 용이하게 할 수 있습니다.

자세한 내용은 다음을 참조하세요.네트워킹에 대한 Docker 문서.

질문의 두 가지 특정 명령은 새로운 overlay네트워크를 생성하고 사용합니다. 이것도커 네트워크 생성새 네트워크를 생성하는 명령입니다 overlay. 이것도커 서비스 생성이 명령은 새 서비스를 정의하고 이전에 생성된 네트워크에 연결되어야 함을 지정합니다 overlay.

관련 정보