在 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
服務的操作。接下來,您將刪除該服務