libnetwork and the Container Network Model
libnetwork is implemented in Go for connecting Docker containers. The aim is to provide a Container Network Model (CNM) that helps programmers provide the abstraction of network libraries. The long-term goal of libnetwork is to follow the Docker and Linux philosophy to deliver modules that work independently. libnetwork has the aim for providing a composable need for networking in containers. It also aims to modularize the networking logic in the Docker Engine and libcontainer to a single, reusable library by doing the following things:
Replacing the networking module of the Docker Engine with libnetwork
Allowing local and remote drivers to provide networking to containers
Providing a
dnet
tool for managing and testing libnetwork-however, this is still a work in progress
Note
libnetwork implements the CNM. It formalizes the steps required to provide networking for containers while providing an...