docker所在磁盘空间不足 迁移数据

1.查看原始目录docker info | grep "Docker Root Dir"

一般在/var/lib/docker

2.停止docker

service docekr stop

3.移动数据 注意 移动前不要创建docker目录!

mv /var/lib/docker /home/docker

4.进入目录查看是否与原始目录相同,确认一下

5. 以下操作不确定是否可行,需要多次测试

方案一 设置软连接

ln -s /home/docker /var/lib/docker

方案二 设置daemon

vim /etc/docker/daemon.json

6.启动docker

service docker start

7.查看目录是否生效docker info | grep "Docker Root Dir"

查看之前的镜像 容器是否存在

docker images

### Docker 4.38 版本数据迁移的方法 对于 Docker 4.38 的数据迁移,通常涉及容器内应用状态以及卷中存储的数据转移。以下是具体的操作指南: #### 使用 `docker commit` 创建镜像备份 为了确保应用程序的状态可以被恢复,在源环境中停止目标容器并创建一个新的镜像作为该容器当前状态的一个快照[^1]: ```bash docker stop my_container docker commit my_container backup_image:latest ``` #### 导出和导入容器文件系统 另一种方式是直接导出整个容器的文件系统为 tarball 文件,之后可以在新的位置重新加载此 tarball 来重建相同的环境[^2]: ```bash # 在旧主机上执行 docker export -o container_backup.tar my_container # 将container_backup.tar传输到新机器后,在新机器上执行下面命令来创建一个具有相同配置的新容器 cat container_backup.tar | docker import - new_my_container:image_tag ``` #### 迁移持久化数据 (Volumes) 如果使用了 Docker 卷,则需单独处理这些外部载点上的数据。可以通过复制宿主机对应路径下的目录实现简单迁移;更推荐的做法是利用官方提供的工具如 `docker volume ls`, `docker cp` 或者第三方插件来进行自动化操作[^3]: ```bash # 列举所有volume名称 docker volume ls # 复制指定volume的内容至本地磁某处 docker run --rm \ -v source_volume:/from \ -v /path/on/host:/to alpine sh -c 'cd /from && tar cvf - . | ( cd /to ; tar xf - )' # 如果要迁移到另一台设备上去的话还需要借助scp或者其他网络协议传送tar包过去再解压还原。 ``` 需要注意的是上述提到的 Docker 命令适用于大多数标准情况,但对于特定版本(例如这里所说的 4.38)可能存在的特性差异或已知问题则不在讨论范围内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0x12

下载和转换脚本可私信我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值