您现在的位置是:首页 >学无止境 >ubuntu下迁移docker文件夹网站首页学无止境

ubuntu下迁移docker文件夹

Henry_Wu001 2025-02-11 00:01:02
简介ubuntu下迁移docker文件夹

在 Ubuntu 系统中迁移 Docker 文件夹(如 Docker 数据存储文件夹 /var/lib/docker)到另一个磁盘或目录,通常是为了释放系统盘空间。以下是迁移过程的详细步骤:

1. 停止 Docker 服务

在进行迁移之前,必须停止 Docker 服务,避免在迁移过程中 Docker 正在使用文件。

sudo systemctl stop docker

2. 移动 Docker 文件夹

选择新的目标目录(例如 /data/sys_docker/)来存放 Docker 数据。假设目标目录已经挂载在某个磁盘上,并且你想将 Docker 数据文件夹从默认的 /var/lib/docker 移动到这个新目录。

首先,创建目标目录(如果尚未存在):

sudo mkdir -p /data/sys_docker 

然后,使用 rsync 命令将 Docker 文件夹复制到新位置,rsync 会保留文件的权限和符号链接等信息。

sudo rsync -aP /var/lib/docker/ /data/sys_docker/

3. 修改 Docker 配置文件

接下来,你需要告诉 Docker 使用新位置来存储数据。编辑 Docker 配置文件 /etc/docker/daemon.json

sudo nano /etc/docker/daemon.json 

如果该文件不存在,可以创建它并添加以下内容:

{ "data-root": "/data/sys_docker" } 

4. 确保权限

为了确保 Docker 可以正常访问新位置的文件夹,你需要调整目标文件夹的权限。运行以下命令:

sudo chown -R root:docker /data/sys_docker 

5. 启动 Docker 服务

修改完配置后,重新启动 Docker 服务。

sudo systemctl start docker 

6. 验证迁移

最后,确认 Docker 是否正在使用新目录并且一切正常运行。你可以运行以下命令,查看 Docker 是否正确加载数据:

docker info | grep "Docker Root Dir" 

输出应该显示 Docker 正在使用新的存储路径,如:

Docker Root Dir: /data/sys_docker 

7. 删除旧数据

在确保 Docker 正常工作并且数据已成功迁移后,你可以删除原始的 Docker 文件夹以释放空间:

sudo rm -rf /var/lib/docker 
建立软链接,以备默认位置
sudo ln -s /data/sys_docker  /var/lib/docker

总结

通过以上步骤,你可以将 Docker 数据文件夹迁移到另一个目录或磁盘,避免原本磁盘空间不足的情况。确保迁移过程中不丢失数据,并确保 Docker 服务在迁移后可以正常启动和运行。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。