扩展集群中的服务


将服务部署到集群后,您可以使用 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 个。这些任务分布在集群的三个节点上。其中一个正在 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 服务的部分。接下来,您将删除该服务

页面选项