背景:
在CentOS中安装了Docker,默认Docker Root目录是/var/lib/docker。但是该目录磁盘空间很有限,后期很容易导致系统盘满了,所以考虑迁移到更大磁盘目录下,比如下面的/data目录下。
[root@node1 ~]# df -h

在Docker官方文档https://docs.docker.com/config/daemon/#daemon-data-directory中写了关于数据目录的信息:
- Docker deamon会把所有数据持久化到一个目录里面,包括容器、镜像、volume、服务定义和秘钥
- Linux默认目录是/var/lib/docker,Windows默认目录是C:\ProgramData\docker
- 修改数据目录可以使用data-root选项
迁移步骤
1、停止Docker服务
[root@node1 ~]# systemctl stop docker
2、迁移源目录到新目录
[root@node1 ~]# mv /var/lib/docker/ /data/docker
3、修改Docker配置文件
Linux下找到/etc/docker/daemon.json进行编辑(如果没有就创建):添加data-root即可,其它原有配置不动
[root@node1 ~]# cat /etc/docker/daemon.json
{
"data-root": "/data/docker"
}
4、修改config.v2.json的配置
[root@node1 ~]# ll /data/docker/containers/*/config.v2.json
[root@node1 ~]# cp /data/docker/containers//config.v2.json /data/docker/containers//config.v2.jsonbak --提前备份好文件
[root@node1 ~]# sed -i 's%/var/lib/docker%/data/docker%g' /data/docker/containers/*/config.v2.json
- /data/docker是新的存储目录
- containers表示容器目录
- 0be2e37cab46cca202361b70a0c16d3f9132cbd748b68ae4c14e93d8ce92c17e是具体容器

5、启动Docker服务,查看状态
[root@node1 ~]# systemctl start docker
[root@node1 ~]# systemctl status docker -l
6、启动容器,检查能否启动成功。




