【環境准備】
系統:Centos 8.5 x64
Docker版本:Docker 20.10.11
四台docker swarm集群節點,swarm 集群搭建方法:https://www.cnblogs.com/yyee/p/15755789.html
管理節點:192.168.1.200
管理節點:192.168.1.201
工作節點:192.168.1.202
工作節點:192.168.1.203
【基本命令】
創建服務 docker service create --replicas 1 --name 服務名 -p 8888:80 鏡像:tag 擴容或縮容至3個副本 docker service update --replicas 3 服務名 docker service scale 服務名=3 查看服務列表 docker service ls 查看副本分布在哪些節點 docker service ps 服務名 查看服務明細 docker service inspect 服務名 刪除服務 docker servcie rm 服務名
【創建服務】
注意:docker service命令需要在manager節點上運行。
登錄到其中一個管理節點,執行命令:
docker service create --replicas 1 --name my-nginx -p 8888:80 nginx
命令解析:
docker service create #創建服務命令
--replicas 1 #開啟的副本數量
--name my-nginx #服務名稱
-p 8888:80 #對外端口:容器內部端口
nginx #使用的鏡像
查看服務列表
docker service ls
現在my-nginx只有一個副本。
查看 my-nginx 服務在哪個節點上及狀態:
docker service ps my-nginx
查看my-nginx服務的詳細信息:
docker service inspect my-nginx
【擴容】
將my-nginx服務副本數量擴容至6個:
docker service update --replicas 6 my-nginx 或者 docker service scale my-nginx=6
docker service ls 命令查看:
使用docker service ps 命令查看3個副本在哪幾台服務器上及狀態:
docker service ps my-nginx
擴容完成后,會平均分配副本數量到4台服務器中,分別在200,201,202,203四台服務器上用docker ps命令查看本節點有幾個副本。
在縮主機的瀏覽器中分別訪問192.168.1.200:8888到xxx.203:8888的各個實例,都是能訪問到的。
【縮容】
將副本數從6個縮容至3個,也是使用 docker service update --replicas 或 docker service scale 命令:
docker service update --replicas 3 my-nginx 或者 docker service scale my-nginx=3
【移除服務】
移除my-nginx服務:
docker service rm my-nginx