在 Debian 上运行 Docker 时,备份数据通常分为容器数据卷(Volume)备份、镜像备份、容器配置备份以及整个 Docker 目录备份。下面按常见场景说明。
docker volume ls
mysql_data)利用临时容器把 volume 打包:
docker run --rm \
-v mysql_data:/volume \
-v $(pwd):/backup \
debian \
tar czf /backup/mysql_data.tar.gz -C /volume .
恢复时:
docker run --rm \
-v mysql_data:/volume \
-v $(pwd):/backup \
debian \
tar xzf /backup/mysql_data.tar.gz -C /volume
如果数据在容器内部(不推荐):
docker cp 容器名:/data /backup/data
docker save -o myimage.tar 镜像名:标签
恢复:
docker load -i myimage.tar
导出容器配置(不含数据):
docker export 容器名 > container.tar
或用 docker inspect 保存运行参数。
Debian 默认 Docker 数据在:
/var/lib/docker
停止 Docker 后备份:
systemctl stop docker
tar czf docker-backup.tar.gz /var/lib/docker
systemctl start docker
⚠️ 不建议在生产环境频繁这样做,体积大且易锁文件。
mysqldump / pg_dump如果你愿意,可以告诉我:
docker-compose我可以给你针对性备份脚本。