一旦你部署了一个服务到swarm集群中,你就可以使用docker命令行来伸缩扩容运行该服务的容器数量。运行在多个容器的一个服务叫做tasks 任务。
$docker machine ssh manager1
$ docker service scale <SERVICE-ID>=<NUMBER-OF-TASKS>
$ docker service scale helloworld=5 helloworld scaled to 5
查看扩容的服务列表:
docker service ps <SERVICE-ID>
$ docker service ps helloworld NAME IMAGE NODE DESIRED STATE CURRENT STATE helloworld.1.8p1vev3fq5zm0mi8g0as41w35 alpine worker2 Running Running 7 minutes helloworld.2.c7a7tcdq5s0uk3qr88mf8xco6 alpine worker1 Running Running 24 seconds helloworld.3.6crl09vdcalvtfehfh69ogfb1 alpine worker1 Running Running 24 seconds helloworld.4.auky6trawmdlcne8ad8phb0f1 alpine manager1 Running Running 24 seconds helloworld.5.ba19kca06l18zujfwxyc5lkyn alpine worker2 Running Running 24 seconds
你可以看到swarm已经创建了4个新的任务,总共扩容到5个运行的实例
这些任务分布在swarm集群的三个节点中。其中一个是运行在manager1中。
在manager1 执行 docker ps
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 528d68040f95 alpine:latest "ping docker.com" About a minute ago Up About a minute helloworld.4.auky6trawmdlcne8ad8phb0f1