当前位置:首页 >> 服务器

解决docker磁盘空间不足问题

docker所在服务器,运行了一段时间后,发现服务器磁盘目录快不够用了。通过du -h --max-depth=1 / 逐级目录排查,发现/var/lib/docker目录文件过大。通过以下方法,解决该问题。

转移数据修改docker默认存储位置

有多种方式修改docker默认存储位置。
最好是在docker安装完后,第一时间修改docker默认存储位置为其他大目录或者磁盘中。规避迁移数据过程中造成的风险。

- 停止docker服务

systemctl stop docker

- 创建新的docker目录,执行命令df -h,找一个大的磁盘

我在 /data目录下面建了/data/docker/lib目录

 mkdir -p /data/docker/lib

- 迁移/var/lib/docker目录下面的文件到/data/docker/lib

迁移后的完成docker路径:/data/docker/lib/docker

rsync -avz /var/lib/docker/ /data/docker/lib/

- 配置 /usr/lib/systemd/system/docker.service

vi /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd --graph=/data/docker/lib/docker

- 重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

- 确认Docker Root Dir修改是否已经生效

[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker info
...
Docker Root Dir: /data/docker/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
...

- 启动成功后,再确认之前的镜像是否还在

[root@iZbp1jcwx7sfb1yrnvpg84Z docker]# docker images
REPOSITORY             TAG         IMAGE ID      CREATED       SIZE
10.80.177.233/policy        2.1.2        64ac4e178cd2    2 hours ago     818 MB
10.80.177.233/crm          2.1.3        d7636fbb7a29    2 hours ago     762 MB

- 确定容器没问题后删除/var/lib/docker/目录中的文件