docker swarm 故障时候镜像迁移(无法添加新节点的时候)
生产docker集群出现了故障,无法正常添加删除节点。在这样的情况下只能想办法把故障集群的镜像迁移到新的docker集群当中。
将发生故障的宿主机/var/lib/docker中的swarm目录拷贝一份放到新的宿主机上,swarm目录存有docker service 之前的镜像信息
新宿主机操作
先将docker服务停掉service docker stop
用旧的swarm覆盖新宿主机的swarm目录,并且删除docker-state.json,state.json,(certificates/做加密的,若删除则会报错,此目录应该不删)
启动docker服务service docker start
docker swarm init --force-new-cluster --advertise-addr ip:2377
docker service ls
应该成功迁移完成
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)