最近遇到一个问题,线上服务器的系统盘空间被占满了,导致服务不能正常运行了。
docker启动时会报出下面这个错误
no space left on device
排查用到的命令,显示当前路径下占用空间超过1G的文件或文件夹
du -h --max-depth=1|grep G|sort -n
经过一番排查是因为docker文件将硬盘空间给占满了(50G系统盘占用了43G)。
最终排查到的路径是/var/lib/docker/
经过了一番查询发现我们可以将/var/lib/docker/这个路径下的文件转移到其他磁盘下,这样的话系统盘就会空出来了。
1、停掉服务
systemctl stop docker
2、创建docker目录,我的数据盘是在挂在到了/home下 ,可以根据实际情况调整
mkdir -p /home/docker
3、迁移目录,由于我的数据量比较大 ,这一步需要比较长的时间 ,我整整 用了半个小时
rsync -avz /var/lib/docker /home/docker/
4、修改docker配置文件中的路径
vim /etc/docker/daemon.json
在文件中增加
"graph": "/home/docker"
5、重启docker服务
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
在这一步的时候可能会报错,需要执行一下
dockerd &
6、查看docker信息
docker info
关键步骤就这几步。