Building a reliable network is essential to long-term application delivery via Docker. First, it’s important to understand the overall architectural framework Docker uses — the Container Networking Model (CNM). Second, we’ll focus on the various types of network drivers. These bolster security in data transference and make assembling and maintaining a Docker network less daunting. The CNM serves to maximize portability and leverage additional features whenever possible, further strengthening an infrastructure’s communication capacity.
What Is a Docker Network Driver?
A network consists of interconnected endpoints, which support enhancing a service’s level of portability day in and day out. Every Docker network depends upon the integration of one specified network driver as well. We can think of Docker network drivers as if they’re part of the launching pad for developing a network’s backbone. Without a network driver, everything essentially collapses, and a Docker network will not successfully lift off. Moreover, efficient service performance becomes nonexistent, and everything faces instantaneous disintegration if core network components are not regularly maintained.
Types of Docker Network Drivers
There are two primary categories: built-in native network drivers and plugin drivers. Built-in network drivers come with Docker already, and plugin network drivers require additional configuration, plus installation. Let’s look at the bridge network driver, which is the default for Docker and offers the most basic connectivity over a single host. In terms of supporting and customizing the bridge network driver, it is quite simple. Typically, bridge network setups are used when you need independent containers to communicate with one another.
An overlay network driver is an example of one of the built-in drivers of Docker. Above all, this driver is an immense asset when working with a Docker Swarm and the services placed onto one’s host OS (Docker daemons).
On the other hand, a network plugin derives from a third party, and, thanks to Docker Engine’s plugin system, can be managed and controlled. Each network driver has its very own implementation superpower. Selecting the driver that will work best depends on the mission at hand.
Certainly, Docker network drivers have dynamic functions overall, so the possibilities are vast. We’re only scratching the surface of the networking technologies Docker uses. There are countless other network drivers and configurations out there today that we can integrate with ease! Docker network options are continuing to advance at an astronomical pace, but grasping the foundational benefits of such a robust tool is vital for 21st-century applications.
A Closer Look
Our new Docker Certified Associate (DCA) course created by Will Boyd explores Docker drivers, security, storage, and much more. This in-depth course is for those interested in pursuing their Docker Certified Associate certification. You can also find a quick start course for those newer to Docker, here. If you’re interested in topics ranging from using a Docker bridge network to deploying Docker images, building a Docker Swarm to using Docker secrets to manage data, you can get Hands-On Labs for those and more here.
Once you sign up for courses you can access hundreds of hours of content, Hands-On Labs, and an entire community of learners. If you have any questions about the course, Docker networks, or anything else, feel free to get in touch with Will on LinkedIn. And remember to join in on the conversation that’s happening on the Linux Academy Community Slack channel!