在 swarm 中扩展服务
将服务部署到 Swarm 后,您就可以使用 Docker CLI 来扩展服务中的容器数量了。在服务中运行的容器称为任务。
如果你还没有这样做,请打开一个终端并通过 ssh 连接到你运行管理器节点的机器。例如,本教程使用一台名为
manager1的机器。运行以下命令来更改 Swarm 中运行服务的期望状态
$ 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 个正在运行的 Alpine Linux 实例。这些任务分布在 Swarm 的三个节点之间。其中一个运行在
manager1上。运行
docker ps查看您所连接的节点上正在运行的容器。以下示例显示了在manager1上运行的任务$ 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如果您想查看其他节点上运行的容器,请通过 SSH 连接到这些节点并运行
docker ps命令。
后续步骤
在本教程的这个阶段,您已经完成了 helloworld 服务的操作。接下来,您将删除该服务