首页 > 解决方案 > 服务重启后 Docker 节点关闭

问题描述

看来我的服务器空间不足,并且我在一些部署的 docker 堆栈上遇到了一些问题。我花了一段时间才弄明白,但最终我还是删除了几个容器和图像以释放一些空间。

我能够运行service docker restart并且它起作用了。但是,存在一些问题:

运行时docker service ls,所有服务都有0/1副本。

这是运行时的状态docker node ls

"Status": {
    "State": "down",
    "Message": "heartbeat failure for node in \"unknown\" state",
    "Addr": "<ip and port>"
},
"ManagerStatus": {
    "Leader": true,
    "Reachability": "reachable",
    "Addr": "<ip and port>"
}

我怎样才能让我的服务再次运行?

标签: dockerdocker-swarmdocker-stack

解决方案


有时,当您重新启动或更新 docker 版本时,tasks.db文件会损坏。

这是一个未解决的问题 ( #34827 ),有些人建议了解决此问题的方法,移动tasks.db文件并测试是否可以解决问题,然后删除 tasks.db 文件。Docker 会自动为你创建一个新的。

您可以在 /var/lib/docker/swarm/worker/中找到tasks.db文件

我最近遇到了同样的问题,这种解决方法挽救了我的一天。我没有丢失任何与我的 Stacks 相关的数据

2020 年 10 月 19 日更新

问题(#34827)已关闭,但解决方案仍然相同,删除 tasks.db 文件


推荐阅读