Book Image

Mastering Docker - Fourth Edition

By : Russ McKendrick
Book Image

Mastering Docker - Fourth Edition

By: Russ McKendrick

Overview of this book

Docker has been a game changer when it comes to how modern applications are deployed and created. It has now grown into a key driver of innovation beyond system administration, with a significant impact on the world of web development. Mastering Docker shows you how you can ensure that you're keeping up with the innovations it's driving and be sure you're using it to its full potential. This fourth edition not only demonstrates how to use Docker more effectively but also helps you rethink and reimagine what you can achieve with it. You'll start by building, managing, and storing images along with exploring best practices for working with Docker confidently. Once you've got to grips with Docker security, the book covers essential concepts for extending and integrating Docker in new and innovative ways. You'll also learn how to take control of your containers efficiently using Docker Compose, Docker Swarm, and Kubernetes. By the end of this Docker book, you’ll have a broad yet detailed sense of what's possible with Docker and how seamlessly it fits in with a range of other platforms and tools.
Table of Contents (22 chapters)
1
Section 1: Getting Up and Running with Docker
8
Section 2: Clusters and Clouds
16
Section 3: Best Practices

Load balancing, overlays, and scheduling

In the last few sections, we looked at launching services and stacks. To access the applications we launched, we were able to use any of the host IP addresses in our cluster; how was this possible?

Ingress load balancing

Docker Swarm has an ingress load balancer built in, making it easy to distribute traffic to our public-facing containers.

This means that you can expose applications within your Swarm cluster to services—for example, an external load balancer such as Amazon Elastic Load Balancer (ELB)—knowing that your request will be routed to the correct container(s) no matter which host happens to be currently hosting it, as demonstrated by the following diagram:

Figure 8.17 – An overview of load balancing in a Swarm cluster

This means that our application can be scaled up or down, fail, or be updated, all without the need to have the external load balancer reconfigured to talk to...