Docker 备份指南
这些指南展示在 Docker 中备份每种数据库和应用的正确方式——从运行中的容器转储数据库(绝不热复制文件)、捕获数据卷和配置、存储加密的异地 Restic 快照——外加 Dockstash 每项功能的用法。在下方选择平台指南、你的数据库引擎或你的应用。
配置并运行 Dockstash
接入舰队代理
在任何 VPS 上运行一个只出站的小代理,从一个控制台备份它的容器——注册、安装、项目目录与首次指派。
排程自动备份
设置每日备份、带保留策略的每周 prune、完整性校验与还原演练——校验过的 cron、每仓库单任务、实时日志。
还原备份
选择快照、键入项目名确认、默认还原到新位置,并在覆盖任何东西之前先验证。
运行还原演练
自动把最新快照还原到隔离工作区,与源做字节级和行级比对,并获得通过/失败徽章。
设置警报与通知
失败邮件、抓住沉默停摆的「死人开关」心跳、通往 Slack 或 PagerDuty 的 webhook 分发,以及不可变的审计日志。
设定保留策略
保留 N 个每日、每周和每月快照,让排程的 prune 把策略直接映射到 restic forget --prune。
配置存储目的地
把 Dockstash 经 SSH 指向你自己的存储 VPS,保存只显示一次的加密密码,并为全损恢复做好计划。
排查失败的备份
阅读实时 restic 日志、让陈旧锁自愈、唤醒离线代理并理解心跳警报。
在 Docker 中备份数据库
PostgreSQL
在 Docker 中备份 PostgreSQL
MySQL
在 Docker 中备份 MySQL
MariaDB
在 Docker 中备份 MariaDB
MongoDB
在 Docker 中备份 MongoDB
Redis
在 Docker 中备份 Redis
Valkey
在 Docker 中备份 Valkey
SQLite
在 Docker 中备份 SQLite
ClickHouse
在 Docker 中备份 ClickHouse
Elasticsearch
在 Docker 中备份 Elasticsearch
RabbitMQ
在 Docker 中备份 RabbitMQ
MinIO
在 Docker 中备份 MinIO
InfluxDB
在 Docker 中备份 InfluxDB
Neo4j
在 Docker 中备份 Neo4j
在 Docker 中备份应用栈
WordPress
CMS
Ghost
Publishing / Blog
n8n
Workflow automation
Supabase
Backend-as-a-Service
Nextcloud
File sync / Collaboration
Gitea
Git hosting
Plausible Analytics
Analytics
Umami
Analytics
Directus
Headless CMS
Strapi
Headless CMS
Appwrite
Backend-as-a-Service
PocketBase
Backend-as-a-Service
Matomo
Analytics
Mattermost
Team chat
Vaultwarden
Password manager
Uptime Kuma
Monitoring
Metabase
Business intelligence
NocoDB
No-code database
常见 问题
为什么不能直接复制数据库卷?
运行中的数据库不停写入其数据目录。写入途中复制会捕获撕裂、不一致、通常无法还原的状态。正确的备份是从运行中的容器做逻辑转储(pg_dumpall、mysqldump --single-transaction、mongodump --oplog)。
指南和使用场景页有什么区别?
指南覆盖一种数据库引擎(如何备份 PostgreSQL、MySQL、Redis 等)。使用场景页覆盖整个应用栈(WordPress、n8n、Supabase)——它运行哪些数据库、哪些卷存文件,以及完整的有序备份计划。
Dockstash 会自动完成这一切吗?
会。Dockstash 扫描你的 Compose 项目,检测数据库、卷和配置,按引擎执行正确的转储,把加密的 Restic 快照存到异地——再用演练测试还原,让你确知它有效。