在开发环境中,突然有一天来到公司启动项目的时候报错
看到这个报错肯定是数据库出啥问题了,我们的数据库是部署在docker里面的。
远程服务器之后,使用命令查看容器,发现数据库容器还是启动着的
docker ps
那就进去容器内部看看
docker exec -it <容器> bash
结果在执行这个语句的时候报错:
failed to create runc console socket: mkdir /tmp/pty3273851841: no space left on device: unknown
这个报错的意思是磁盘上已经没有多余的空间了,但是我这个服务器也就运行了一个docker
去看看docker 的磁盘占用情况
du -sh /var/lib/docker
发现竟然占用了17G,我整个磁盘也就20G,进到这个文件夹看一下情况
cd /var/lib/docker
du -sh *
发现里面的 containers文件夹,也就是docker容器 占用了11G,那就再进去看看是那个容器占了那么大
cd containers/
du -sh *
果不其然,就是数据库容器占了11个G (f719494373a844a3aad743e904dde472b38c92efaa2923f6b5974278e9c2d9a8就是数据库容器id(缩写是f719494373a8)),
进去f719494373a844a3aad743e904dde472b38c92efaa2923f6b5974278e9c2d9a8文件夹后,发现是f719494373a844a3aad743e904dde472b38c92efaa2923f6b5974278e9c2d9a8-json.log占用了,这个用于记录日志的,把这个清掉。(但是这个也不能每次都这个去清,所以得设置自动清空日志)
truncate -s 0 f719494373a844a3aad743e904dde472b38c92efaa2923f6b5974278e9c2d9a8-json.log