22년 2월에 작성한 글입니다.
스웜 네트워크
- 스웜 모드는 각 도커 데몬의 네트워크가 하나로 묶인, 네트워크 풀이 필요
- 도커 스웜 매니저 노드에서
docker network ls 실행시, 아래와 같은 결과 확인 가능
- 기본 네트워크:
bridge, host, none
docker_gwbridge: 도커 스웜에서 오버레이(overlay) 네트워크를 사용할때 사용
ingress: 로드 밸런싱과 라우팅 메시에 사용됨

ingress 네트워크
- 스웜 모드에서만 유효한 네트워크
- 어떤 스웜 노드에 접근하더라도 서비스 내의 컨테이너에 접근할수 있도록 라우팅 메시를 구성
- 서비스 내의 컨테이너에 대한 접근을 라운드 로빈 방식으로 분산하는 로드밸런싱 담당

오버레이 네트워크
- 오버레이 네트워크는 여러개의 도커 데몬을 하나의 네트워크 풀로 만드는 네트워크 가상화 기술
- ingress 네트워크는 오버레이 네트워크 드라이버 사용
- 여러개의 스웜모드에 할당된, 컨테이너는 오버레이 네트워크의 서브넷에 해당하는 IP 를 할당 받음
docker_gwbridge 네트워크
- 스웜 모드에서 생성된 네트워크
- 오버레이 네트워크를 사용하지 않는 컨테이너는 기본적으로 존재하는 브리지 네트워크를 사용해 외부와 연결
- 그러나 ingress 를 포함한 모든 오버레이 네트워크는 다른 브리지 네트워크인 docker_gwbrige 네트워크와 함께 사용
- 외부로 나가는 통신 및 오버레이 네트워크의 트래픽 종단점(VTEP) 역할을 담당
사용자 정의 오버레이 네트워크
docker network create --subnet 10.0.9.0/24 -d overlay myoverlay

SCOPE=swarm 이어서 스웜모드에서만 사용 가능
--attachable 옵션을 추가하여 오버레이 네트워크 생성하면
docker run --net 명령어로 해당 네트워크 사용 가능 (Docker Swarm + Jenkins + DooD 를 사용한다면 본 사항이 쓸모있을수도 있을듯)
Reference