温馨提示×

debian docker怎么备份数据

小樊
44
2026-10-05 02:01:00
栏目: 智能运维

在 Debian 上运行 Docker 时,备份数据通常分为容器数据卷(Volume)备份、镜像备份、容器配置备份以及整个 Docker 目录备份。下面按常见场景说明。


一、备份 Docker 数据卷(最常用)

1. 查看数据卷

docker volume ls

2. 备份某个 volume(如 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

二、备份容器内重要文件(无 volume 情况)

如果数据在容器内部(不推荐):

docker cp 容器名:/data /backup/data

三、备份镜像

docker save -o myimage.tar 镜像名:标签

恢复:

docker load -i myimage.tar

四、备份容器配置(可选)

导出容器配置(不含数据):

docker export 容器名 > container.tar

或用 docker inspect 保存运行参数。


五、直接备份 Docker 根目录(整机备份)

Debian 默认 Docker 数据在:

/var/lib/docker

停止 Docker 后备份:

systemctl stop docker
tar czf docker-backup.tar.gz /var/lib/docker
systemctl start docker

⚠️ 不建议在生产环境频繁这样做,体积大且易锁文件。


六、生产推荐方案

  • ✅ 使用 named volume
  • ✅ 定时脚本备份 volume
  • ✅ 数据库用 mysqldump / pg_dump
  • ✅ 备份到远程(rsync / S3)

如果你愿意,可以告诉我:

  • 你跑的是什么服务(MySQL / WordPress / 自建应用)
  • 是否用了 docker-compose

我可以给你针对性备份脚本。

0 踩