
bluebay2014 - Fotolia
Container networking: How does Docker relate to SDN?
Networking expert John Burke tackles container networking in this edition of Ask the Expert, explaining how a Docker container relates to SDN.
The short answer: It depends.
Continue Reading This Article
Enjoy this article as well as all of our content, including E-Guides, news, tips and more.
Docker software creates container environments that can host applications, with the goal of making them more lightweight and portable. Containers allow IT to deploy a new application without devoting an entire dedicated operating system (OS) instance and virtual machine (VM) to it -- multiple containers can run on a single VM or a dedicated physical server. Because a Docker-deployed application is written to the container interface rather than a specific operating system, it also enjoys greater portability. Users can access the app in a container running under any operating system that Docker has been ported to, including: most Linux versions, CentOS, Mac OS X, Windows and the major cloud platforms (Amazon Web Services, Microsoft Azure, Google Cloud Platform and IBM SoftLayer).
So, on to SDN. Let's say you're using the classic definition of software-defined networking (SDN), in which control plane and data plane are separated, with OpenFlow providing a protocol for them to talk to each other and SDN applications providing network services by using the SDN controller to direct data plane activity. In that case, Docker and SDN don't have a direct relationship. Docker works with the networking infrastructure inherent to the host OS on which the container runs, without caring what kind of network it is.
Docker does, however, have a connection to today's looser understanding of SDN -- which can encompass network virtualization, network programmability and the separation of the control and data plane, singly or in any combination. Docker uses virtual networks to connect containerized applications with the local network, and connect containers with other containers on the same host. IT staff can also define, directly via Docker or via associated tools for managing Docker environments, such as Flocker or Rancher, virtual overlay networks to connect containers across hosts and over larger networks (such as data centers, wide area networks and the Internet).