在 swarm 中扩展服务


将服务部署到 swarm 后,您就可以准备就绪了 使用 Docker CLI 扩展容器数量 服务。在服务中运行的容器称为任务。

  1. 如果尚未打开,请打开一个终端并通过 ssh 连接到您 运行您的 Manager 节点。例如,本教程使用名为 .manager1

  2. 运行以下命令以更改 在 Swarm 中运行的服务:

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

    例如:

    $ docker service scale helloworld=5
    
    helloworld scaled to 5
    
  3. Run 以查看更新的任务列表: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

  4. Run 以查看在您所在的节点上运行的容器 连接。以下示例显示了在 上运行的任务:docker psmanager1

    $ 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