6月2日 23:47

Docker 容器数据怎么备份和恢复?Volume 备份和数据库导出实战

Docker 容器的数据在 Volume 里——备份 Volume 就是备份数据。两种方式:直接备份 Volume 文件,或从容器内导出。

方法一:备份 Volume 目录

简单粗暴,但要求停掉容器或确保数据一致性(数据库正在写入时备份可能损坏)。

方法二:用临时容器备份

不停容器,用 --volumes-from 挂载同一个 Volume:

临时容器挂载 pg_data(只读)和宿主机 /backup 目录,把数据打包到宿主机。

数据库导出(推荐)

数据库不适合直接拷文件——文件可能处于不一致状态。用数据库的导出工具:

在容器里执行:

导出的是 SQL 文本,保证逻辑一致性,可以跨版本恢复。

恢复

数据库恢复用 psql/mysql 命令,不用拷文件。

自动化备份

备份文件要推到远程存储(S3、OSS),不要只存在本机——本机挂了备份也没了。

Docker Volume 备份 vs 数据库导出

  • Volume 备份:快,但不保证一致性,适合非数据库文件
  • 数据库导出:慢,但保证一致性,适合数据库
  • 两者配合:Volume 备份应用配置/上传文件,数据库导出业务数据
标签:Docker