Docker 实践总结(二)
集群简介
Swarm
初始化swarm
方法一
1 | docker pull swarm |
创建集群token,获取全球唯一的 token,作为集群唯一标识
1 | docker run --rm swarm create |
加入集群
1 | docker run -d swarm join -addr=192.168.1.228:2379 token://a253407f93a759e7b1d69a49cf669732 |
方法二
1 | docker swarm init --advertise-addr 192.168.1.228 |

1 | docker swarm join --token SWMTKN-1-1g17yyrfepskeffufewmgfiewffqemcc8kjsy9x1zbjucqu4ms-dcp6ub8tjc2yq6bh7qbhs926e 192.168.1.228:2377 |
1 | docker node ls |

集群管理
离开集群
1 | docker swarm leave |
部署
1 | docker stack deploy -c ws.yml sys01 |
检查
1 | docker stack ls |

stack 详细信息
1 | docker stack ps sys01 |

检查service
1 | docker service ls |

删除
1 | docker stack rm sys01 |
节点状态
AVAILABILITY 的三种状态:
Active:调度器能够安排任务到该节点
Pause:调度器不能够安排任务到该节点,但是已经存在的任务会继续运行
Drain:调度器不能够安排任务到该节点,而且会停止已存在的任务,并将这些任务分配到其他 Active 状态的节点
MANAGER STATUS 的三种状态
Leader:为群体做出所有群管理和编排决策的主要管理者节点
Reachable:如果 Leader 节点变为不可用,该节点有资格被选举为新的 Leader
Unavailable:该节点不能和其他 Manager 节点产生任何联系,这种情况下,应该添加一个新的 Manager 节点到集群,或者将一个 Worker 节点提升为 Manager 节点
更新节点
改变节点的可用性(availability)
1 | docker node update --availability drain WorkerA |
添加/移除标签元数据
1 | docker node update --label-add foo --label-add bar=baz WorkerA |
类型一:–label-add
类型二:–label-add
升级/降级节点
1 | [升级] docker node promote WorkerA |
基本命令
1 |
|