Scaling services
We should always run at least two instances of any given service. That way they can share the load and, if one of them fails, there will be no downtime. We'll explore Swarm's failover capability soon and leave load balancing for the next chapter.
We can, for example, tell Swarm that we want to run five replicas of then go-demo
service:
docker service scale go-demo=5
With the service scale
command, we scheduled five replicas. Swarm will make sure that five instances of go-demo
are running somewhere inside the cluster.
We can confirm that, indeed, five replicas are running through the, already familiar, service ls
command:
docker service ls
The output is as follows (IDs are removed for brevity):
NAME MODE REPLICAS IMAGE
go-demo replicated 5/5 vfarcic/go-demo:1.0
go-demo-db replicated 1/1 mongo:3.2.10
As we can see, five out of five REPLICAS
of the go-demo
service are running.
The service ps
command provides more detailed information about a single service:
docker...