扩展集群中的服务

服务部署到集群后,您就可以使用 Docker CLI 来扩展服务中的容器数量。在服务中运行的容器称为任务。

  1. 如果您还没有这样做,请打开终端并通过 ssh 连接到运行管理器节点的计算机。例如,本教程使用名为 的计算机 manager1

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

    $ 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 个新任务,以扩展到总共 5 个运行的 Alpine Linux 实例。任务分布在集群的三个节点之间。其中一个正在运行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服务。接下来,您将删除该服务