在集群中扩展服务


一旦你已 部署了服务 到集群(swarm),你就可以使用 Docker CLI 来扩展该服务中容器的数量。在服务的运行容器被称为任务(tasks)。

  1. 如果您尚未操作,请打开终端并通过 SSH 连接到运行您管理节点的机器。例如,本教程使用一台名为 manager1的机器。

  2. 运行以下命令以更改群集中运行的服务所需的状态:

    $ docker service scale <SERVICE-ID>=<NUMBER-OF-TASKS>
    

    例如:

    $ docker service scale helloworld=5
    
    helloworld scaled to 5
    
  3. 运行 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 个新任务,将运行中的 Alpine Linux 实例总数扩展到了 5 个。这些任务分布在 Swarm 的三个节点上。其中一个正在 manager1 上运行。

  4. 运行 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 服务的配置。接下来,您将删除该服务。