Docker Swarm集群常用命令使用

目录

1.docker node相关命令

docker node ls 查看集群所有节点 (在管理节点执行)

docker node update --availability drain 2a119i0lhxfc02rqgjrnd3ujx 调度程序不会将新任务分配给节点(在管理节点上执行)

docker node update --availability active 2a119i0lhxfc02rqgjrnd3ujx 调度程序可以将任务分配给节点(在管理节点上执行)

docker node update --availability pause 2a119i0lhxfc02rqgjrnd3ujx 调度程序不向节点分配新任务,但是现有任务仍然保持运行(管理节点上执行)

docker node update --label-add role=web node-1 添加标签(管理节点上执行)

docker node update --label-rm role node1 删除标签(管理节点上执行)

docker swarm leave 节点离开集群 (在离开的节点上执行,节点处于down状态)

docker node rm 2a119i0lhxfc02rqgjrnd3ujx 删除节点(在管理节点上执行)

docker node inspect 2a119i0lhxfc02rqgjrnd3ujx 查看节点详情(在管理节点执行)

docker node demote 2a119i0lhxfc02rqgjrnd3ujx 节点降级(在管理节点执行)

docker node promote 2a119i0lhxfc02rqgjrnd3ujx 节点升级(在管理节点执行)

docker node ps 2a119i0lhxfc02rqgjrnd3ujx 查看相应节点任务(在管理节点执行)
04swarm16
注意:任务是集群的最小单位,上图中在不同的节点看到两个相同的任务名my-web1,但是任务ID不同,其中一个任务状态是shutdown状态,造成这种原因是因为某些操作造成task关闭不可用,由于服务的高可用性导致任务发生调度,在另外可用的节点上重新拉起任务,这个过程就是任务迁移

2.docker service相关命令

docker service create 部署服务(在管理节点执行)
example:
docker service create --replicas 3 --publish published=8080,target=80--name my-web nginx

docker service inspect my-web 查看服务详情(管理节点执行)

docker service ls 查看所有服务详情(管理节点执行)

docker service logs -f --tail=10 my-web 查看服务日志(在管理节点执行)

docker service scale my-web=2 设置服务个数(在管理节点执行)

docker service rm my-web 删除服务(在管理节点执行)

docker service update --publish-add 9090:9090 my-web 给服务增加一个端口(管理节点执行)
docker service update --publish-rm 9090:9090 my-web 为服务删除一个端口

docker swarm join-token相关命令

docker swarm join-token worker 查看swarm worker连接令牌(管理节点上执行) ,用于添加非管理节点

docker swarm join-token manager 查看swarm manager连接令牌(管理节点上执行),用于添加管理节点

docker swarm join-token --rotate worker 清除添加非管理节点的旧令牌,生成新令牌(管理节点上执行)

docker swarm join-token --rotate manager 清楚添加管理节点的旧令牌,生成心灵拍(管理节点上执行)