Docker Network는 도커 컨테이너 간의 통신을 관리하는 일종의 논리적 네트워크입니다.
여러 컨테이너를 사용하는 애플리케이션에서는 같은 네트워크로 컨테이너들을 묶어 서로 간편하게 통신할 수 있도록 만드는 것이죠.

Docker는 컨테이너가 생성될 때마다 각 컨테이너에 172.17.0.*의 IP를 순차적으로 할당합니다. 이 IP는 재시작할 때마다 변경되고, 따로 설정하지 않을 경우 생성된 IP는 외부에서 접근이 불가능합니다. 외부에 노출시키려면 포트 바인딩이 필요해요.
Host에서는 eth0에 대응하는 veth를 생성해 외부와 네트워크를 연결합니다. 이 veth는 Docker Engine이 자동으로 생성합니다.
네트워크 드라이버를 따로 지정하지 않을 경우 기본으로 docker0을 브릿지 네트워크로 사용해서 호스트의 eth0 네트워크와 veth를 연결합니다.
리눅스의 Virtual Ethernet을 의미합니다.
컴퓨터 네트워크 기술 중 하나로, LAN / MAN / WAN에서 가장 많이 활용되는 기술 규격입니다. 물리 계층에서 신호 및 배선, 데이터링크 계층에서 MAC 패킷과 프로토콜 형식을 담당해요.
컨테이너로 구동된 애플리케이션은 물리적 네트워크를 구성할 수 없기 때문에, 실제 컴퓨터의 NIC를 사용하는 것이 아니라 가상의 네트워크 인터페이스를 생성합니다.
패킷을 전달받으면 자신에게 연결된 다른 인터페이스로 패킷을 전송하기 때문에 항상 쌍으로 생성됩니다. veth는 한 쪽이 불능 상태가 되면 다른 쪽도 작동하지 않습니다.
Docker에서는 실행 중인 컨테이너의 수만큼 veth가 생성됩니다.
