Docker 存储路径更改与数据迁移指南

文摘   2024-11-28 08:00   北京  

在使用 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 -adocker imagesdocker volume ls

通过这些命令,你可以验证 Docker 是否正常使用新的路径来存储容器、镜像和卷等数据。

6、清理旧路径

如果你确认 Docker 已经正常使用新路径,可以选择清理旧路径 /var/lib/docker,以释放磁盘空间:

rm -rf /var/lib/docker

在更改存储路径后,Docker 会在新路径下创建新的镜像、容器和卷等数据,所以不再使用旧的路径。

通过以上步骤,你可以将 Docker 存储路径成功更改为/data/docker/dockers并将现有数据迁移到新的位置。

如果喜欢这篇文章,请点下方在看,

后续推荐更多类似文章

日常运维文档
多做实验,少做自己!分享一些日常运维和学习文档,欢迎大家一起交流。
 最新文章