Docker Swarm删除节点
节点上的主机如果想离开的话,可以自己直接执行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了。
最后整理个小东西
相关文章
- centos7 安装docker-compose
- docker脚本自动化安装
- 基于Docker搭建分布式消息队列Kafka
- 【Docker】docker安装redis
- 【Docker】docker安装Jenkins
- MacOS Docker 安装
- docker概述
- 一个回车键黑掉一台服务器——使用Docker时不要这么懒啊喂
- docker底层技术概览
- [Docker] Container & image (docker run)
- 【纯脚本版】docker自主搭建Hadoop3.2.0 HBASE2.1.6 Spark2.4.8三节点集群(含docker镜像制作过程)
- docker搭建Hadoop 3节点及N节点集群完整教程
- Docker with Spring Boot
- docker 镜像一执行状态就变成 Exited 的原因
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
- 【已】Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- Docker 空间清理
- Java程序运行在Docker等容器环境有哪些新问题
- CoreOS和Docker入门
- 【Docker】Windows将docker下载的镜像存放到其他盘
- 【云原生之Docker实战】使用docker部署IT资产管理系统GLPI
- 【云原生之Docker实战】使用docker部署Memos碎片化知识管理工具
- 【云原生之Docker实战】使用docker部署ubuntu系统测试环境
- 【云原生之Docker实战】使用docker部署Superset数据分析与可视化平台
- 【云原生之Docker实战】使用docker部署Wiznote私人笔记系统
- Docker技术----docker-compose实战----快速搭建WordPress博客系统
- Docker安装(安装docker)
- 什么是Docker?看这一篇干货文章就够了!
- Docker学习笔记12:docker使用之YAML 入门
- 【Docker系列】4.docker-compose文件如何传递参数