服务器重启后,“docker ps”命令一直卡住

10
在服务器重新启动后,Docker 看起来还活着,但所有的命令像 docker ps 这样的命令都会一直挂起,直到我按下 Ctrl+C。可能出了什么问题? Docker version 1.12.6, build 7392c3b/1.12.6 Linux ip-10-0-1-124 4.4.10-22.54.amzn1.x86_64
1个回答

5
结果表明,该实例已经连续运行了一年以上,安装了许多应用程序发布版本,/var/lib/docker/devicemapper文件夹包含数百个显然指向旧的废弃容器的条目。
当我在运行交互式调试docker命令dockerd -D的过程中,我看到它不停地读取所有这些数据。
我删除了/var/lib/docker/var/run/docker,并重新安装了docker和容器,问题得到了解决。
感觉需要一个定期删除docker内部过时项目的脚本。

4
使用docker system prune应该不难吧? - Mykola Gurov
@MykolaGurov 太棒了! - snowindy
只想补充一点,@MykolaGurov的解决方案也对我们有帮助。在运行“docker system prune”后,所有的Docker命令都可以再次使用。我相信重新安装Docker也可以解决问题,但可能需要更长的时间。 - Rahmat Nazali Salimi
使用 dockerd -D 命令发现一个问题容器(“向容器发送 kill 信号 9” 永远不成功),然后在执行 rm -rf /var/lib/docker/containers/problem_container 命令后,dockerd 可以正常启动。 - bbeecher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接