Docker Network


swarm, compose 서버 클라 통신하게 하는 녀석
> [쇼핑몰 사례로 알아보는 Docker Swarm 과 Compose 의 차이점](https://code-machina.github.io/2019/08/06/Difference-between-Docker-Composer-N-Swarm.html)


도커 네트워크는 서버 사이드 기능이므로 Swarm 에도 적용이 가능합니다. 그러나 이 네트워크에도 종류가 있는데요. 아래와 같습니다.
- bridge
> - 기본 네트워크 드라이버입니다. 만약에 아무런 드라이버를 지정하지 않은 경우 이 드라이버가 지정됩니다.
> - **Bridge Network 는 Standalone 컨테이너가 통신을 하기 위해서 설정하는 케이스입니다.**
- host
> - 마찬가지로 standalone 방식의 컨테이너를 위한 네트워크 드라이버입니다. 도커 호스트(여러분의 PC)와 컨테이너간의 네트워크 독립(isolation)을 해제해주는 역할을 합니다. 즉, bridge 는 고립, host 는 개방이라고 생각하면 간단합니다.
> - **호스트와 독립하지 않는 관계로 호스트의 네트워크를 직접 사용하게됩니다.**
> - 호스트 네트워크는 Docker 17.06 이상에서 동작하는 Swarm 에서만 사용가능한 점을 유의해 주세요
- overlay
> - 다수의 도커 데모늘 연결해주는 것이 Overlay 네트워크 입니다. 또한, Swarm 서비스들이 서로 통신하는 것을 가능하게 합니다.
> - standalone 방식의 컨테이너와 swarm 서비스를 통신하게 하는데에도 overlay 를 사용할 수 있습니다.
> - 즉, 이 전략은 **OS 레벨에서 컨테이너간 라우팅을 설정을 할 필요가 없도록 해줍니다.**
- macvlan
> - Macvlan 은 각 컨테이너에 MAC 주소를 부여합니다. 따라서 네트워크 상에서 물리적인 기기로 보입니다.
> - Docker 데몬은 트래픽을 MAC 주소에 기반하여 라우팅해줍니다.
> - 만약, 여러분이 물리 네트워크로 접속해야하는 legacy 어플리케이션을 다룰 때 이 전략은 유효합니다.
- none
> - 모든 네트워크를 비활성화 합니다. 이 전략은 Custom 네트워크 드라이버와 결합해서 사용할 때 쓰입니다.
> - 그러나 Swarm 에서는 none 을 사용할 수 없습니다.
우리는 컨테이너간의 통신을 원하므로 overlay 또는 host 전략을 사용하여 적절하게 구성하는 계획을 수립할 수 있습니다.