在使用 Docker 时,你可能会遇到磁盘空间不足的问题,或者希望将 Docker 数据存储在其他位置(如 SSD 或网络存储)。本文将指导你如何更改 Docker 的存储路径,并迁移现有的数据。
1、停止 Docker 服务
在修改 Docker 存储路径之前,首先需要停止 Docker 服务,以避免在迁移过程中数据损坏。
systemctl stop docker
2、修改 Docker 存储路径配置
Docker 的存储路径是由 daemon.json配置文件中的 data-root参数决定的。你可以通过以下步骤修改它:打开或创建 /etc/docker/daemon.json配置文件:
cat /etc/docker/daemon.json
{
"data-root": "/data/docker/dockers"
}
3、迁移现有数据
如果你的 Docker 数据在 /var/lib/docker路径下,你可以通过以下命令将原有的 Docker 数据迁移到新目录 /data/docker/dockers:
mv /var/lib/docker /data/docker/dockers
通过这个命令,Docker 所有的现有数据都会被移到 /data/docker/dockers目录下。
如果你不想手动迁移数据,你也可以选择通过符号链接的方式来实现。在这种情况下,你不需要将现有数据移动到新路径,只需要创建符号链接:
ln -s /data/docker/dockers /var/lib/docker
这种方式会将 /var/lib/docker路径指向新的路径 /data/docker/dockers,使得 Docker 仍然能够正常运行。
4、重启 Docker 服务
在修改了 daemon.json配置文件并迁移了数据后,重启 Docker 服务使更改生效。
systemctl start docker
5、验证 Docker 配置
重启 Docker 后,运行以下命令检查 Docker 是否正确使用新的存储路径:
docker info | grep "Docker Root Dir"
docker ps -a
docker images
docker volume ls
通过这些命令,你可以验证 Docker 是否正常使用新的路径来存储容器、镜像和卷等数据。
6、清理旧路径
如果你确认 Docker 已经正常使用新路径,可以选择清理旧路径 /var/lib/docker,以释放磁盘空间:
rm -rf /var/lib/docker
在更改存储路径后,Docker 会在新路径下创建新的镜像、容器和卷等数据,所以不再使用旧的路径。
通过以上步骤,你可以将 Docker 存储路径成功更改为/data/docker/dockers并将现有数据迁移到新的位置。
如果喜欢这篇文章,请点下方在看,
后续推荐更多类似文章