Docker swarm实践

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

你可能感兴趣的:(Docker swarm实践)