Docker network is based on the Container Network Model where libnetwork is docker's implementation. It provides single-host bridge network, multi-host overlays, options for plugging into existing VLAN, Service discovery and basic container load balancing.
CNM
Three build blocks
- Sandboxes - an isolated network stack
- Endpoints - virtual network interface
- Networks - software implementation switch
libnetwork
- docker implementation and more
- service discovery, ingress load balance, network control, and management plane
driver
data plane
Linux
- bridge
- overlay
- macvlan
window
- nat
- transparent
- overlay