问题
接到问题反馈,生产服务器docker stats命令无响应,docker exec 命令无响应,第一反应是docker又挂了?但是用docker stats 查看具体某个容器的状态又是没问题的,后来排查发现,是其中一个容器挂了,使用docker stats展示所有容器状态的时候就卡住了。但是。。。docker stop 无法停止该容器,docker kill已不起作用。
解决
问题大致已发现,该容器卡死导致整个docker服务异常,解决问题的关键是处理这个已经卡死的容器,随后就想到了使用宿主机杀死进程的方法,
# 通过容器ID找到了容器在宿主机中的pid
> cat /sys/fs/cgroup/memory/docker/<containerId>/cgroup.procs
通过找到的id跟top命令中的对应pid进程作一下比对,然后通过 kill -9 pid 杀死了该进程,再尝试之前无法使用的docker stats等命令就可以使用了