停止docker服务

systemctl stop docker

移动源数据

在修改docker存储目录前需要创建一个新的目录,以/home/docker/data-root目录为例,需要将docker的源数据拷贝到此目录下,
一般情况下源数据在目录/var/lib/docker内,可以使用以下命令进行数据移动:
mkdir -p /home/docker/data-root
mv /var/lib/docker /home/docker/data-root

修改docker配置文件

默认docker的配置文件为/etc/docker/daemon.json,修改docker的数据目录只需要将"data-root": "/home/docker/data-root"
配置选项添加到文件内即可,例如:
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/home/docker/data-root"
}

修改启动文件配置

vim /usr/lib/systemd/system/docker.service
在EXECStart后面添加–graph=/home/rain/docker/
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/home/docker/data-root

重启docker

systemctl daemon-reload
systemctl start docker

查看docker数据存储目录

[root@ecs-22090802 ~]# docker info | grep "Docker Root Dir"
 Docker Root Dir: /home/docker/data-root
[root@ecs-22090802 ~]#

确认之前的镜像是否还在

docker images

删除原目录数据

rm -rf /var/lib/docker