场景: 
前几天在 Linux 服务器安装好了 小皮面板, 然后也成功的部署了PbootCMS项目, 今天突然在登陆小皮面板的时候报错 验证码不正确 (可是我输入的验证码是没问题的), 然后我就重新启动了小皮面板
输入命令 --> xp --> 3,   结果是报错了, 没有启动成功,   

报错如下: 

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Error: failed to start containers: centos_env

小皮面板mysql两个端口 小皮面板docker_小皮面板mysql两个端口

查了一下资料, 是因为docker没有启动成功导致的,  于是我又重启了docker, 发现此时docker也启动不了, 报错 “No space left on device” ,   我的天这又是什么问题 啊啊啊啊啊 !!!!!

于是我又找了一下资料, 发现是服务器的磁盘满了, 没有可用空间, 导致有些文件不能写入, 

我用 df -i 命令查看了一下磁盘的使用情况, 发现当时/dev/vda1 已用47%, 那这个就不正常,  

小皮面板mysql两个端口 小皮面板docker_小皮面板_02

再用 df -i 命令查看Inode使用情况, 发现当时 /dev/vda1 已用 100%, 真是变态 

小皮面板mysql两个端口 小皮面板docker_docker_03

因为/dev/vda1 这个是挂载在 / 根目录下的,  我们需要进行到根目录执行 du -sh * 命令, 

小皮面板mysql两个端口 小皮面板docker_PbootCMS_04

我们不断的进入大文件夹使用 du -sh * 命令查看磁盘使用情况, 最终定位到具体的文件夹

小皮面板mysql两个端口 小皮面板docker_linux_05

 

发现罪魁祸首是我们部署的PbootCMS项目下的一个 runtime/session 的一个文件夹占用很高, 于是我们把session文件夹删除   使用 rm -rf session 命令

最后重新重启小皮面板就行了, 此时就可以登陆成功. 不会报验证码错误了.


最后总结一下解决方案: 
方案1: 先重启docker, docker启动有问题的话使用 du -sh * 命令 或者 df -i 命令查询磁盘占用情况, 最后将大文件删除, 重新启动小皮面板 --> xp -->  3

方案2: 定位到大文件, 将其删除,
2.1: 卸载小皮面板   --> xp --> 98
2.2: 重新安装小皮面板  yum install -y wget && wget -O install.sh https://download.xp.cn/install.sh && sh install.sh (我这里使用的系统是 CentOS)
2.3: 重新部署pbootcms项目即可


温馨提示: pbootcms的这个runtime/session文件夹需要使用脚本取定时删除, 不然这个问题日后依然会出现, 具体的脚本可以参考我主页另外的博客