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