Now that the swarm is up and running, it is time to look at services. A service is a collection of one or more tasks that do something. Each task is a container running somewhere in the swarm. Since services are potentially composed of multiple tasks, there are different tools to manage them. In most cases, these commands will be a subcommand of
Running containers as services in a swarm offers a number of benefits. They are as follows:
Services can be scaled out quickly and easily.
Swarm can perform zero-downtime upgrades where updated versions of an image are added while old versions are removed.
Easily create overlay networks to connect containers running on multiple hosts. (Overlay networks were covered in detail in Chapter 3, Cluster Building Blocks – Registry, Overlay Networks, and Shared Storage.)