Sometimes, you only need one container, because all you need is one instance of an app. But sometimes you need cluster of containers that can respond to changes in demand, and that can be upgraded without taking your application offline.
Docker has a built-in mechanism for clustering containers, called “swarm mode.” With swarm mode, you can use the Docker Engine to launch a whole fleet of application instances across multiple machines. Swarm mode is hardly the only way to create a clustered Docker application, but it is the most convenient way, allowing you to create container clusters without needing additional software.
In this article we’ll look at how swarm mode compares to more upscale solutions like Kubernetes, and the steps needed to get a basic swarm up and running.
Docker swarm mode vs. Kubernetes
Swarm mode provides you with a small-scale but useful orchestration system for Dockerized apps. Apps can run in a decentralized fashion, with no one node being the master node, although you will need to designate at least one node as a manager for the cluster as a whole.