在 swarm 中擴充套件服務


服務部署到 Swarm 後,您就可以使用 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 例項。這些任務分佈在 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 服務的操作。接下來,您將刪除該服務

刪除服務