迁移Docker数据步骤
相看 docker 存储位置
看数据存哪了
1 | docker info | grep "Docker Root Dir" |
不同类型的数据对应不同子目录:
- 镜像层(image layers):
/var/lib/docker/overlay2/ - 构建缓存(build cache):
/var/lib/docker/buildkit/ - 容器文件系统:
/var/lib/docker/containers/ - 网络配置:
/var/lib/docker/network/ - 卷(volumes):
/var/lib/docker/volumes/
迁移 docker 数据
1. 停掉 Docker 服务
1 | sudo systemctl stop docker |
确认已停:
1 | systemctl status docker |
2. 创建新的目标目录
1 | sudo mkdir -p /mnt/data/docker |
(确保 /mnt/data 是挂载到大分区的)
3. 把原目录完整复制过去
推荐用 rsync,避免软链接时出现权限/稀疏文件问题:
1 | sudo rsync -aHAX --delete /var/lib/docker/ /mnt/data/docker/ |
(注意:末尾的 /
很重要,确保复制的是内容而不是目录本身)
4. 备份原目录(保险)
1 | sudo mv /var/lib/docker /var/lib/docker.bak |
5. 创建符号链接
1 | sudo ln -s /mnt/data/docker /var/lib/docker |
6. 启动 Docker
1 | sudo systemctl start docker |
如果无报错、容器和镜像都正常看到 → 迁移成功。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
