​Docker powers up software-defined networking to boost container portability

Along with a new architecture for third-party software to plug into Docker, the container platform has stepped up its game in software-defined networking.
Written by Toby Wolpe, Contributor
CTO Solomon Hykes: Putting control into the hands of developers improves the portability of multi-container apps.
Image: Docker

Docker says the software-defined networking technology acquired with startup SocketPlane in March is now part of the open-source container platform, helping ensure that multiple containers inside a distributed app communicate easily over IP networks and across infrastructures.

As well as announcing new features for the Machine, Compose and Swarm orchestration tools, the project has also unveiled a new plugin architecture designed to make it simpler for developers and operations teams to use third-party software tools with Docker.

The new Docker networking features and plugin architecture are part of Docker Engine and are available in an experimental build. The updated orchestration tools are in the 1.7 release.

Docker is the most popular technology for automating the creation and deployment of apps in containers - a lighter-weight form of virtualisation. The idea is to free developers from software and infrastructure dependencies, cutting costs and creating efficiencies in the process.

According to Docker CTO and chief architect Solomon Hykes, by adding software-defined networking to the application itself and putting control into the hands of developers, Docker is improving the portability of multi-container apps throughout the development lifecycle.

"Individual developers, through a single command, can establish the topology of the network to connect discrete Dockerized services into a distributed application. And then through a set of commands be able to inspect, audit and change topology on the fly," he said in a statement.

Docker's software-defined networking employs DNS and VXLAN. The idea is that DNS ensures Dockerized services can communicate without modification, while VXLAN enables the creation of portable, distributed networks that allow an application's microservices to reside on any part of a Docker cluster.

Docker said a development team can initially define the topology of a distributed app, leaving the networking team to apply later the networking policy needed for it to run in production with maximum availability and security.

Docker acquired software-defined networking specialistSocketPlane and its six-strong team to help add standard networking interfaces to Docker for increased portability of multi-container distributed apps.

Docker's new plugin architecture, which comes out of a collaboration with ecosystem partners, principally ClusterHQ, Glider Labs and Weaveworks, is described as giving developers who have created their own tooling a way of extending the platform.

"This new architecture offers an SDK model for discrete areas of integration. For example, Docker native SDN can be swapped with a third-party product," Docker said.

Initially, networking and storage volumes from Cisco, ClusterHQ, Microsoft, Midokura, Nuage Networks, Project Calico, VMware and Weave will be supported.

"This extensibility means that development teams can create and test the distributed applications using the product toolkits that they regularly rely on, which might differ from the tooling operations teams use to take the same Dockerized application from staging into production," Docker said.

"Similarly, operations teams will have the freedom to select the right production-grade products for the right infrastructure with zero impact on the development team's workflow."

Improvements to Docker's three orchestration tools include the integration of Docker Swarm with the Mesos cluster manager - the fruit of the collaboration with Mesosphere announced last year.

More on Docker and containers

Editorial standards