Swarm 相关命令
所有 docker stack 与 docker service 必须在 Manager 节点运行
docker swarm init:集群模式
docker swarm join-token manager:获取加入集群管理节点命令
docker swarm join-token worker:获取加入集群工作节点命令
docker swarm join-token --rotate:使集群旧令牌无效,并生成新令牌
docker node promote NODE-HOSTNAME1 NODE-HOSTNAME2:将节点(可多个)设置为管理节点
docker node demote NODE-HOSTNAME1 NODE-HOSTNAME2:将节点(可多个)设置为工作节点
docker node update --availability {drain|active|pause} NODE-HOSTNAME:更新节点可用状态
Active:调度程序可以将任务分配给节点。
Pause:调度程序不会为节点分配新任务,但现有任务仍在运行。
Drain:调度程序不会将新任务分配给该节点。调度程序将关闭所有该节点上的现有任务,并将其调度到 Active 节点上。
docker node rm NODE-HOSTNAME:删除节点,请先 drain,设置工作节点
docker swarm node leave:退出 Swarm 集群,在对应主机上执行
docker swarm node leave --force:强制退出,在对应主机上执行,Manager 已经退出集群,也可将 Worker 退出集群
概况
docker info:查看集群信息
docker node {demote|inspect|ls|promote|ps|rm|update}:node 相关,inspect 详情
docker service {create|inspect|logs|ls|ps|rm|rollback|scale|update}:service 相关,rollback 回滚,scale 扩容或缩减副本
docker stack {config|deploy|ls|ps|rm|services}:stack 相关
常用
docker stack deploy -c STACK.yml STACK-NAME:部署或更新
docker stack ps STACK-NAME:查看 Stack-Name 包含的服务及状态
docker stack ps --no-trunc STACK-NAME:查看 Stack-Name 包含的服务及状态,无截断,即不省略,显示完整
docker logs 容器名称:stack 模式下在对应主机上执行,即可查看对应容器的的日志
docker node inspect NODE-HOSTNAME --pretty
sudo docker service ps SERVICE-NAME:查看 Service 的运行情况,所在副本主机等
docker node update --label-add 标签1(key=) --label-add 标签2(key2=value) NODE-NAME
docker node update --label-rm 标签 NODE-NAME