
Compose 项目最初往往只有一个 YAML 文件,但服务增多后,配置、挂载目录和备份脚本很容易混在一起。清晰的目录结构能降低迁移和恢复难度。
1. 配置与数据分离
将 compose.yaml、环境变量示例和反向代理配置纳入版本管理,数据库文件、上传内容和运行日志放到独立持久化目录。
2. 敏感信息单独管理
真实 .env、证书私钥和备份凭据不得提交仓库。提供 .env.example 说明变量名称、用途和示例格式。
3. 使用命名卷还是绑定目录
数据库优先考虑命名卷以减少权限问题;需要直接查看、备份或编辑的配置适合绑定目录。选择后应在文档中解释。
4. 让备份目录独立于运行目录
备份文件不要写进容器数据目录。设置日期命名、保留周期和异地副本,并定期做恢复演练。
常见误区
- 所有内容都放项目根目录
- 真实密钥进入 Git
- 备份与源数据在同一磁盘
- 目录权限依赖手工修复
执行检查清单
- 配置可版本化
- 数据目录有明确所有者
- 敏感文件已忽略
- 备份能独立恢复
总结
目录规划的判断标准很简单:换一台服务器时,能否迅速区分要复制、要重新生成和绝不能公开的内容。