The Theory of Docker Networking

Let’s dive deeper into the theory of Docker networking.

At the highest level, Docker networking comprises three major components:

  • The Container Network Model (CNM)
  • libnetwork
  • Drivers

The CNM is the design specification. It outlines the fundamental building blocks of a Docker network.

libnetwork is a real-world implementation of the CNM, and is used by Docker. It’s written in Go and implements the core components outlined in the CNM.

Drivers extend the model by implementing specific network topologies such as VXLAN overlay networks.

The following figure shows how they fit together at a very high level.

Get hands-on with 1400+ tech skills courses.