Swram集羣創建
Manager節點
# docker swarm init --advertise-addr 192.168.2.63
#--如果docker主機又多個網卡,擁有多個IP,必須使用--advertise-addr
# docker swarm init
#--使用這個命令,節點會自動成爲管理節點
docker swarm join \
--token SWMTKN-1-58pgrwk4kfvqzkthh8o1rkqujsq3b5y8j1ub01r4vb9z7em60p-epslspez4t42kak9kdukx41fo \
172.16.0.251:2377
Work節點
#--使用manager生成的命令執行就加入了集羣
docker swarm join \
--token SWMTKN-1-58pgrwk4kfvqzkthh8o1rkqujsq3b5y8j1ub01r4vb9z7em60p-epslspez4t42kak9kdukx41fo \
172.16.0.251:2377
Swarm常用命令
docker node: 用來管理swarm節點
docker service:用來管理swarm服務
docker stack:用來管理swarm堆棧
docker swarm:管理swarm
查看集羣節點
#--在管理節點
# docker node ls
部署服務
使用docker service 命令來管理swarm集羣中的服務,該命令只能在管理節點運行。
創建服務
# docker service create --replicas 3 -p 8888:80 --name nginx nginx
# --replicas 副本數
# -p 端口映射
# --name docker容器名
查看服務
#--查看當前集羣運行的服務
# docker service ls
#--查看某個服務的詳情
# docker service ps nginx
#--查看某個服務的日誌
# docker service logs nginx
#--查看服務詳細信息
# docker service inspect --pretty nginx
# docker service inspect nginx
服務伸縮
#--擴展
# docker service scale nginx=5
#--減少
# docker service scale nginx=2
更新服務參數
#--限制CPU爲0.5
# docker service update --limit-cpu=0.5 NG
滾動更新、回滾更新
#--主要使用命令
# docker service update
測試
#--1、用docker swarm創建容器
# docker service create --replicas 3 --name web-nginx -p 8888:80 nginx:1.11.5
#--2、查看容器是否正常運行
# docker service ls
# docker service ps web-nginx
#--3、將容器鏡像進行更新
# docker service update --image nginx:1.11.6 web-nginx
#--4、查看容器鏡像版本是否更新
# docker service ps web-nginx
#--5、進行回滾操作
# docker service update --rollback web-nginx
刪除服務
# docker service rm nginx