docker容器将系统盘空间占满的解决办法

最近遇到一个问题,线上服务器的系统盘空间被占满了,导致服务不能正常运行了。

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
docker容器将系统盘空间占满的解决办法_第1张图片

关键步骤就这几步。

你可能感兴趣的:(Docker,docker)