docker 目录移动到其他磁盘的操作

本文介绍了一种将Docker的存储位置从默认的/var/lib/docker迁移到其他目录的方法,通过具体的步骤指导读者如何进行迁移,并确保迁移后Docker能够正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.systemctl stop docker  #停止docker
2.mkdir /storage/docker-lib  #在我这个项目里storage是普通硬盘,在storage下创建一个目录
3.mv /var/lib/docker /storage/docker-lib  #将var下的docker移动到/storage下
4.ln -s  /storage/docker-lib/docker /var/lib/docker  #创建软连接,将storage这个路径存到/var目录下
5.#这时候检查一下/var/lib/docker目录是否已经软连接到/storage/docker-lib  
   ll /var/lib  #查看对应软连接是否创建成功
   ll /var/lib/docker

6.sytemctl start docker   #启动docker

<think>好的,用户想知道如何迁移Docker容器内的目录到其他位置或主机。我需要根据提供的引用资料来整理步骤。首先,我得区分容器迁移和数据目录迁移的不同方法。根据引用[3],容器迁移可以使用docker save和docker load,而数据目录迁移则涉及修改Docker的存储路径,如引用[1]、[2]、[4]、[5]提到的步骤,包括停止Docker服务、移动目录、创建符号链接等。另外,用户可能混淆了容器迁移和数据迁移,需要明确说明两种情况。还要注意数据备份的重要性,避免操作失误导致数据丢失。最后,提醒用户验证迁移后的服务是否正常,再删除旧数据。需要分步骤清晰说明,确保用户能安全操作。</think>### Docker容器目录迁移方法教程 #### 一、容器迁移与数据目录迁移的区别 1. **容器整体迁移**:将整个容器(包含文件系统、配置)转移到其他主机,使用`docker save`导出镜像,再通过`docker load`导入[^3]。 2. **数据目录迁移**:修改容器存储路径或挂载目录的位置,需要修改Docker主存储目录或调整数据卷配置[^1][^4]。 --- #### 二、容器整体迁移步骤(跨主机) 1. **保存容器为镜像** ```bash docker commit 容器名称 新镜像名称:标签 ``` 2. **导出镜像为压缩文件** ```bash docker save -o ~/container-backup.tar 新镜像名称:标签 #引用[3] ``` 3. **传输文件到目标主机** 使用`scp`或`rsync`将`container-backup.tar`发送到新主机 4. **导入镜像并运行** ```bash docker load -i container-backup.tar docker run -d --name 新容器名 镜像名:标签 ``` --- #### 三、Docker数据目录迁移(修改存储路径) 适用于需要将`/var/lib/docker`移动到更大磁盘的场景: 1. **停止Docker服务** ```bash systemctl stop docker ``` 2. **创建新存储目录** ```bash mkdir -p /新路径/docker #如/home/docker/lib[^1]或/data/docker ``` 3. **迁移数据(保留原数据备份)** ```bash cp -a /var/lib/docker/* /新路径/docker/ #安全复制 # 或 mv /var/lib/docker /新路径/docker #直接移动[^4] ``` 4. **创建符号链接**(可选) ```bash ln -s /新路径/docker /var/lib/docker #引用[2] ``` 5. **修改配置文件**(非符号链接方案) 编辑`/etc/docker/daemon.json`: ```json { "data-root": "/新路径/docker" } ``` 6. **重启Docker并验证** ```bash systemctl start docker docker info | grep "Docker Root Dir" #检查路径是否生效 ``` 7. **清理旧数据**(确认无误后) ```bash rm -rf /var/lib/docker.old #引用[5] ``` --- #### 四、容器数据卷迁移 若容器使用`-v`挂载了数据卷,直接迁移挂载目录即可: 1. **停止容器** ```bash docker stop 容器名 ``` 2. **复制数据到新目录** ```bash cp -a /原挂载目录/* /新挂载目录/ ``` 3. **重新启动容器** ```bash docker run -v /新挂载目录:/容器内路径 镜像名 ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值