Introduction
Running Docker on a single host may be good for the development environment, but the real value comes when we span multiple hosts. However, this is not a trivial task. You have to orchestrate these containers. So, in this chapter, we’ll cover some orchestration tools and hosting platforms.
Docker Inc. announced two such tools:
-
Docker Compose (https://docs.docker.com/compose), to create apps consisting of multiple containers.
-
Docker Swarm (https://docs.docker.com/engine/swarm/), to cluster multiple Docker hosts. Docker Compose was previously called Fig (http://www.fig.sh).
Google started Kubernetes (http://kubernetes.io/) Docker orchestration. Kubernetes provides mechanisms for application deployment, scheduling, updating, maintenance, and scaling.
Even Microsoft announced (http://azure.microsoft.com/blog/2015/04/08/microsoft-unveils-new-container-technologies-for-the-next-generation-cloud/) a specialized operating system for Docker.
Apache Mesos (http://mesos.apache.org), which provides resource management and scheduling across entire datacenters and cloud environments, also added support for Docker (http://mesos.apache.org/documentation/latest/docker-containerizer/).
VMware also launched a container-specific host called VMware Photon (http://vmware.github.io/photon/).
All of the preceding tools and platforms need separate chapters to themselves. But in this chapter, we’ll explore Compose, Swarm, and Kubernetes.