在 Swarm 中擴展服務
將服務部署到 Swarm 後,您就可以使用 Docker CLI 擴展服務中容器的數量。在服務中執行的容器稱為任務。
如果您尚未開啟終端機,請開啟終端機並透過 ssh 連線到執行管理器節點的機器。例如,本教學使用名為 `manager1` 的機器。
執行以下命令來變更 Swarm 中執行服務的所需狀態
$ docker service scale <SERVICE-ID>=<NUMBER-OF-TASKS>
例如
$ docker service scale helloworld=5 helloworld scaled to 5
執行 `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` 上執行。
執行 `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` 服務。接下來,您將刪除該服務