注意事项

  • 修改根路径之前,需要检查是否有运行的容器会受到影响:比如OracleMySql等实例;
  • 迁移前建议做好数据备份,迁移后要确保已运行实例不受影响的前提下再删除旧的目录。

背景

  • 输入命令df -h查看系统可使用的磁盘空间发现/dev/mapper/centos-root根目录磁盘已用空间所占比例很高。

磁盘空间

  • cd到/目录后输入命令find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr查找大于800M的大文件,如下图所示:

查找大文件

  • 发现很多大文件存在于/var/lib/docker下,而该目录为Docker默认保存数据的目录,因此考虑将Docker默认保存数据的目录迁移到磁盘空间较多的/home

操作

进行如下操作:停掉Docker服务后创建用于存放docker数据的/home/lib/docker目录,再将默认的var/lib/docker下所有文件复制到新建的目录下,编辑Docker的daemon.json文件(若无则创建)。

systemctl stop docker
mkdir -p /home/lib/docker
cp -R /var/lib/docker/* /home/lib/docker/
vi /etc/docker/daemon.json

粘贴或者修改为如下键值

{
  "data-root":"/home/lib/docker"
}

再次启动Docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

检查

  • 输入docker info | grep -i root检查路径修改是否生效,如下图所示:

检查docker路径

  • 检查无误后可输入rm -rf /var/lib/docker删除之前所有默认文件,删除成功后检查一下之前的docker镜像与实例是否存在以及正常运行。
docker images -a
docker ps -a
  • 最后再输入命令df -h检查一下是否解决根目录磁盘已用空间所占比例很高的问题(由95%降低到10%)

检查磁盘空间

最近修改时间: