在 CentOS 中,overlay(常见有两种场景)备份方式不同,下面分别说明:
Docker 默认使用 /var/lib/docker/overlay2。
直接复制 overlay2 目录容易损坏数据,正确方式是:
# 导出所有镜像
docker save $(docker images -q) -o docker_images.tar
# 导出容器
docker export 容器名 -o 容器名.tar
恢复:
docker load -i docker_images.tar
docker import 容器名.tar
systemctl stop docker
tar czf docker_backup.tar.gz /var/lib/docker
systemctl start docker
⚠️ 必须停止 Docker,否则备份不一致
例如:
mount -t overlay overlay -o lowerdir=/a,upperdir=/b,workdir=/c /mnt
tar czf upper_backup.tar.gz /b
恢复:
tar xzf upper_backup.tar.gz -C /
常见于:
# 查看挂载
mount | grep overlay
# 一般备份 upper 层即可
tar czf overlay_upper.tar.gz /overlay/upper
✅ 备份前停止写入服务
✅ 使用 rsync 比 cp 更安全
✅ 不要热备运行中 overlay
如果你能补充:
mount | grep overlay 输出我可以给你精确命令。