【docker】data-root 数据迁移(防止无法加载镜像和容器问题)

操作系统:ubuntu 24.04
docker版本:docker-ce 28.1.1
目标:将/var/lib/docker 的数据迁移到/data/docker

  1. 停止docker
sudo systemctl stop docker.socket
sudo systemctl stop docker

这个步骤一定要做,否则容易导致数据不一致。

  1. rsync数据迁移
sudo mkdir -p /data/docker
sudo rsync -avzP /var/lib/docker/ /data/docker

说明:

  • 安全,保留文件属性和权限(-a 参数),很多迁移的方案后看不到镜像和容器的愿意就是文件属性和权限不一致导致。
  • 增量同步,支持断点续传(-P参数)
  1. 修改配置
sudo vim /etc/docker/daemon.json

添加关键参数 data-root,重新指向新的地址

{
    "data-root":"/data/docker"
}
  1. 重启docker服务
sudo systemctl start docker.socket
sudo systemctl start docker
  1. 备份
sudo mv /var/lib/docker var/lib/docker.bak
  1. 查看容器和镜像
sudo docker ps -a

如果能看到原来的镜像和容器就表明没有问题。

  1. 删除备份
sudo rm /var/lib/docker -rf

第6步检查完成后即可删除旧文件,腾出空间了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

名栩

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值