今天接触到了一个问题,服务器中装了docker,业务是开展在docker中的。业务的web界面一直在报错,ssh进服务器后,docker ps发现有几个容器处于restarting状态。查看supervisor发现有一个进程挂掉了。于是……
supervisorctl查看supervisor的进程
有一个进程处于BACKOFF状态
docker ps来查看docker运行状态
发现有五个容器处于restaring状态
习惯性的先看supervisor的日志,想看一下进程是因为什么意外终止
发现进程报错的原因是mysql的3306端口无法连接(3306前面是一个IP地址,被我打码了),而mysql正是docker中一直处于restarting状态的容器之一,所以可以断定supervisor出问题的原因是docker容器的问题。现在只需要处理docker为什么挂掉就好了。
然后就是戏剧性的一幕,我原以为会是什么难以排查的大问题….结果用docker logs查看了其中一个有问题的容器日志以后发现
硬盘满了?????然后我看了另一个有问题容器的日志
满屏的….硬盘满了
df -h一下,果然
fine~造化弄人~