将 Docker 的 overlay
存储驱动迁移到 /data/
目录下,可以通过以下步骤完成:
1. 停止 Docker 服务
首先,停止 Docker 服务以确保没有容器在运行,并且数据不会被写入到当前的存储位置。
sudo systemctl stop docker
2. 备份现有数据
在进行任何迁移操作之前,建议备份现有的 Docker 数据,以防止数据丢失。
sudo tar -czvf docker_backup.tar.gz /var/lib/docker
3. 创建新的存储目录
在 /data/
目录下创建一个新的目录来存放 Docker 数据。
sudo mkdir -p /data/docker
4. 移动现有数据到新目录
将 /var/lib/docker
目录下的所有内容移动到 /data/docker
。
sudo mv /var/lib/docker/* /data/docker/
5. 更新 Docker 配置
编辑 Docker 的配置文件 /etc/docker/daemon.json
,添加或修改 data-root
配置项,指向新的存储目录。
{
"data-root": "/data/docker"
}
如果没有 /etc/docker/daemon.json
文件,可以创建一个新的。
6. 启动 Docker 服务
重新启动 Docker 服务,使其加载新的配置。
sudo systemctl start docker
7. 验证迁移
检查 Docker 服务是否正常运行,并且容器和镜像是否正常加载。
sudo docker info
在输出中,确认 Docker Root Dir
是否已经更改为 /data/docker
。
8. 清理旧数据(可选)
如果确认迁移成功,并且所有数据都已正确加载,可以删除旧的 /var/lib/docker
目录。
sudo rm -rf /var/lib/docker
9. 监控磁盘空间
迁移完成后,监控 /data/
目录的磁盘空间使用情况,确保没有异常增长。
df -h /data/
通过以上步骤,你应该能够成功将 Docker 的 overlay
存储驱动迁移到 /data/
目录下。