在 Debian 上备份 Docker 通常分为几类:容器配置备份、镜像备份、数据卷备份、以及整个 Docker 目录备份。下面按常见场景给你说明。
docker save -o myimage.tar image_name:tag
恢复:
docker load -i myimage.tar
docker images -q | xargs -I {} docker save -o {}.tar {}
docker commit container_name mybackup:latest
docker save -o mybackup.tar mybackup:latest
恢复:
docker load -i mybackup.tar
docker run -d --name container_name mybackup:latest
docker export container_name > container.tar
恢复(只能作为镜像导入):
docker import container.tar myimage:latest
假设卷名是 myvolume
docker run --rm \
-v myvolume:/data \
-v $(pwd):/backup \
debian tar czf /backup/myvolume.tar.gz -C /data .
恢复:
docker run --rm \
-v myvolume:/data \
-v $(pwd):/backup \
debian tar xzf /backup/myvolume.tar.gz -C /data
Debian 默认 Docker 数据目录:
/var/lib/docker
systemctl stop docker
tar czf docker-backup.tar.gz /var/lib/docker
systemctl start docker
恢复:
systemctl stop docker
rm -rf /var/lib/docker
tar xzf docker-backup.tar.gz -C /
systemctl start docker
⚠️ 注意:
一般只需要备份:
docker-compose.yml.env示例:
tar czf project-backup.tar.gz docker-compose.yml .env data/
0 3 * * * docker run --rm -v myvolume:/data -v /backup:/backup debian tar czf /backup/myvolume-$(date +%F).tar.gz -C /data .
✅ 镜像:不常备份
✅ 容器:用 compose + 卷
✅ 数据:卷必须备份
✅ 配置:compose 文件进 Git
如果你愿意,可以告诉我:
我可以直接给你一套可复制的备份脚本。