swarms
1. 使用 docker swarm init 初始化當前機器爲 swarm manager
2. 使用 docker swarm join 將當前機器加入到集羣clusters
3. 建立集羣后,在各個節點中啓動services即可
【docker swarm】
初始化swarm
docker swarm init
管理join tokens
docker swarm join-token manager --得到加入併成爲manager的token,在下面用到
docker swarm join-token worker --得到加入併成爲worker的token,在下面用到
加入swarm併成爲一個manager
docker swarm join --token SWMTKN-1-5123aqw2etnbo4oylzj6bqwtotrekjq61c4e1vume3bt4ss5-12wcsdft3m6p9qyf6b1z55dd 192.168.1.22:8080
加入swarm成爲一個節點
docker swarm join --token SWMTKN-1-5jqweun2etnbo4aksjdkfwtotrekjq61c4e1vume3bt4ss5-9123fqt4eqd8woyj8x2kdfrteei 192.168.1.22:8080
退出swarm
docker swarm leave --退出後,在ls中依然顯示,類似於docker ps -a
解鎖swarm
docker swarm unlock --後續輸入unlock-key設定的key值
管理unlock key
docker swarm unlock-key
升級swarm集羣的參數
docker swarm update --cert-expiry 720h
【docker node】
列出所有節點
docker node ls
刪除node
docker node rm swarm-node-02 --類似於docker rm containerId,必須leave後才能刪
docker node rm --force swarm-node-03
列出節點中的運行的內容,不指定節點名則表示當前節點
docker node ps swarm-node-02
顯示節點中詳細信息
docker node inspect swarm-node-02
節點降級(只能是針對manager)
docker node demote swarm-mangaer-01
節點升級爲manager
docker node promote swarm-node-02
【docker service】
創建service
docker service create --replicas=5 --name redis2 --secret secret.json --env MYVAR=foo redis:3.0.6
顯示服務詳細信息
docker service inspect redis2
顯示服務日誌
docker service logs -f --tail=100 redis2
列出服務
docker service ls --filter name=frontend
列出服務下的任務,只有manager節點機器可以執行
docker service ps redis2
刪除服務,只有manager節點機器可以執行
docker service rm redis2
設置服務的規模(集羣數),可以多個,mode=global時不能用
docker service scale svr-core=3 svr-admin=5
更新服務,必要時會重啓
docker service update --limit-cpu 2 redis
實例: docker service update configserver --force --image user/config-server:1.0.0