如何进行 Docker 数据目录迁移
如何进行 Docker 数据目录迁移
Docker 默认的数据存储目录通常位于 /var/lib/docker
,但随着容器和镜像的增多,该目录可能占用大量磁盘空间。为了优化存储或更换磁盘,需要迁移 Docker 数据目录。以下是具体方法:
停止 Docker 服务
确保所有容器和 Docker 服务已停止,避免数据损坏。执行以下命令:
sudo systemctl stop docker
确认当前数据目录
检查当前 Docker 的数据目录路径:
sudo docker info | grep "Docker Root Dir"
创建新目录并复制数据
选择新的存储路径(如 /new/path/docker
),并复制原有数据:
sudo mkdir -p /new/path/docker
sudo rsync -avz /var/lib/docker/ /new/path/docker/
修改 Docker 配置
编辑 Docker 的配置文件(通常是 /etc/docker/daemon.json
),添加以下内容:
{"data-root": "/new/path/docker"
}
如果文件不存在,直接创建即可。
重启 Docker 服务
加载新配置并重启 Docker:
sudo systemctl daemon-reload
sudo systemctl start docker
验证迁移结果
检查 Docker 是否使用了新的数据目录:
sudo docker info | grep "Docker Root Dir"
同时运行容器测试功能是否正常。
清理旧数据(可选)
确认迁移成功后,可以删除旧数据目录释放空间:
sudo rm -rf /var/lib/docker
注意事项
- 迁移过程中确保磁盘空间充足。
- 如果使用
aufs
存储驱动,需额外处理图层文件。 - 在集群环境中,需同步所有节点的配置。