若swarm节点异常,比如通过docker node ls查看发现节点下线,但无法通过docker swarm leave -f来重建swarm。

    可以通过以下方式恢复:

    docker info #确认docker目录,默认
    #Docker Root Dir: /var/lib/docker
    systemctl stop docker #停止docker服务
    rm -rf /var/lib/docker/swarm/worker/tasks.db #删除docker的本地tasks DB
    systemctl start docker #启动docker
    # 检查swarm节点状态
    docker node ls
    #若节点异常,考虑重建swarm网络,重建操作见 swarm集群重建 文档
    #重建swarm后,重启有数服务
    dsd /youdata/install/docker-stack.ydswarm716.yaml ydswarm

    以上docker info的docker 数据目录,每个客户都是不同的,根据docker info显示的信息来