修改 Docker 默认存储路径需先停止服务、迁移数据并更新配置;运行 docker info 查看当前驱动和根目录;用 rsync 迁移至新路径,配置 daemon.json 的 data-root 字段,重启后验证,确认无误再谨慎清理旧目录。

修改 Docker 默认存储路径(即 Graph Driver 的根目录)需要停止 Docker 服务,迁移现有数据,并更新配置。操作不当可能导致镜像、容器丢失,务必提前备份。
确认当前存储路径和驱动类型
运行以下命令查看当前使用的存储驱动及数据根目录:
docker info | grep -E "(Storage Driver|Docker Root Dir)"
常见驱动有 overlay2(推荐且默认)、aufs、devicemapper 等。路径通常为 /var/lib/docker。
停止 Docker 并迁移数据
确保无运行中容器(或已妥善处理),然后执行:
- sudo systemctl stop docker
- sudo rsync -avz /var/lib/docker/ /new/path/docker/(推荐用 rsync 保证完整性)
- 验证新路径权限:确保 root:root 所有者,且目录可读写
修改 Docker 配置启用新路径
编辑或新建 Docker 守护进程配置文件:
sudo nano /etc/docker/daemon.json
添加或修改 data-root 字段:
{"data-root": "/new/path/docker"}
保存后重载配置并启动:
- sudo systemctl daemon-reload
- sudo systemctl start docker
- 再次运行 docker info 确认 Docker Root Dir 已更新
清理旧数据(可选,谨慎操作)
确认新路径下所有镜像、容器、卷均正常工作至少 24 小时后,再删除原路径:
sudo rm -rf /var/lib/docker
注意:不要仅删子目录,要确保整个旧目录不再被任何进程占用。











