参考文章 参考文章

一、背景

docker overlay2 所在盘空间有限,进行个目录的迁移。

二、无缝 迁移 docker 根目录

docker system prune
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
docker system prune -a
清理得更加彻底,可以将没有容器使用Docker镜像都删掉 这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚

1、查看 docker 根目录占用磁盘空间

  1. [root@xntest /]# du -hs /var/lib/docker
  2. 3.9G /var/lib/docker

2、创建新的路径存放 docker 数据

  1. mkdir -p /media/data/softerware/docker/lib

3、停止 docker,并迁移数据

  1. ## 停止服务
  2. systemctl stop docker.service
  3. ## 数据迁移
  4. rsync -avz /var/lib/docker /media/data/softerware/docker/lib

4、配置 docker 目录加载路径

  1. # 配置 /etc/systemd/system/docker.service.d/devicemapper.conf,不存在就创建
  2. mkdir -p /etc/systemd/system/docker.service.d/
  3. vi /etc/systemd/system/docker.service.d/devicemapper.conf
  4. =======
  5. [Service]
  6. ExecStart=
  7. ExecStart=/usr/bin/dockerd --graph=/media/data/softerware/docker/lib/docker
  8. ========

5、重新加载 docker

  1. systemctl daemon-reload
  2. systemctl restart docker
  3. systemctl enable docker