Skip to the content.

Challenges of Networking Containers and Microservices

Microservices practices have increased the scale of applications which has put even more importance on the methods of connectivity and isolation that we provide to applications. The Docker networking philosophy is application driven. It aims to provide options and flexibility to the network operators as well as the right level of abstraction to the application developers.

Like any design, network design is a balancing act. Docker Datacenter and the Docker ecosystem provides multiple tools to network engineers to achieve the best balance for their applications and environments. Each option provides different benefits and tradeoffs. The remainder of this guide details each of these choices so network engineers can understand what might be best for their environments.

Docker has developed a new way of delivering applications, and with that, containers have also changed some aspects of how we approach networking. The following topics are common design themes for containerized applications:

Concepts

This section contains 14 different short networking concept chapters. Feel free to skip right to the tutorials if you feel you are ready and come back here if you need a refresher. The concept chapters are:

  1. The Container Networking Model

  2. Drivers

  3. Linux Networking Fundamentals

  4. Docker Network Control Plane

  5. Bridge Networks

  6. Overlay Networks

  7. MACVLAN

  8. Host (Native) Network Driver

  9. Physical Network Design Requirements

  10. Load Balancing Design Considerations

  11. Security

  12. IP Address Management

  13. Troubleshooting

  14. Network Deployment Models