节点上的主机如果想离开的话,可以自己直接执行docker swarm leave

然后你可以发现,原本跑在自己上面的容器被转移到别的容器上了。此时如果在manager节点上docker node ls看的话,这个节点已经Down了。

然后访问下这个节点的服务,也是理所当然的失败

想加入回来就重新JOIN一下

但此时注意两点,第一。对于manager来说之前的退出是Down状态,此时并没有从节点里把这个退出的节点删除,而我们有重新在节点上执行JOIN。这个时候是新建立了一个node,所以上图里面标注的两个,上面那个Down是自己的Leave,下面的Ready是这次自己新加入的身份。并且此时直接访问这个节点ip是没有服务的。

分别登陆每个节点

可以看到,一共5个容器,manager跑2,work1节点跑3个,新加入的节点work2没有跑。之后的新任务会被自动分给他的。如果着急测试,可以直接扩容类似这样 docker service scale nginx=8 从5个直接扩到8个,新node马上就会有活干了。

还有对于node节点自己leave之后,manager节点上看到的Down状态的节点,如果不要了,可以直接

docker node rm xxxx 删除

这样就干净了。

还有如果是manager节点想直接T某个节点出局怎么操作呢?

直接rm肯定会失败(此时强行-f也行,不过不建议)

先docker node update --availability drain hxss1xiw0dh9ii6x1che9f3qk 让这个node歇着去吧,此时再看下其他容器,会发现他的活都已经被分配给别人了。

上面是剩下干活的两个节点,一人四个活。而刚刚被歇着这个容器空了。

然后可以尝试删除docker node rm xxxx删除,但是还是失败,因为虽然不分配任务给他,但是他的状态不是Down所以不让删除,此时其实可以登录到node上,直接自己主动leave。此时manager会看到是Down状态,不过也可以直接强行-f,因为此时任务已经被排空了。

如果强行-f了,此时要注意,就是现在对于节点node来说,自己还是在Join状态,如果此时你在node上执行Join,她会说正在加入一个swarm,所以要先leave一下,再加入就OK了。

最后整理个小东西

最新文章

  1. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
  2. python pep8
  3. C#全角、半角转换
  4. python 返回函数
  5. Web Service性能测试方案
  6. [Bootstrap]全局样式(三)
  7. Android中layout_weight的属性理解
  8. JavaScript为unicode编码转换为中文
  9. cf468A 24 Game
  10. POJ 2318 TOYS(计算几何)
  11. C#程序的157个建议
  12. Modbus软件开发实战指南 之 开发自己的Modbus Poll工具 - 2
  13. poj 1149经典网络流构图
  14. Android进程间通信
  15. Entity Framework Core 2.0 使用入门
  16. Scikit-learn:模型评估Model evaluation 之绘图
  17. CentOS装个NTP时间同步服务器
  18. 图像超分辨-IDN
  19. POJ3204 Ikki's Story I - Road Reconstruction
  20. 使用windows脚本移动文件

热门文章

  1. MyBatis中模糊查询
  2. shell脚本,mysql数据库的备份,并压缩
  3. 【关系抽取-R-BERT】模型结构
  4. Co-prime HDU - 4135
  5. 《逆向工程核心原理》——DLL注入与卸载
  6. python3表格数据处理
  7. Python - 关于类(self/cls) 以及 多进程通讯的思考
  8. [SpringCloud教程]2. 版本选型和项目搭建
  9. String 的不可变真的是因为 final 吗?
  10. 随便聊聊 Java 8 的函数式编程