docker compose down -v 毁灭

docker compose down -v 会删除所有匿名卷和命名卷,包括 press-db-data(整个供应链数据库)、press-sites(站点文件)、press_ssh(SSH 密钥)。一条命令让 Press 回到出厂状态。


1. 归属

问题答案
属于哪个仓库?8 文件中的 docker-compose.yml
在容器内路径?~/press/docker-compose.yml
在构建链的哪一步?运维层面的 Docker 操作

2. 功能解释

docker compose down 的三种模式:

命令效果
docker compose down停容器,不删卷
docker compose down -v停容器 + 删所有命名卷
docker compose down --rmi all -v停容器 + 删卷 + 删镜像

3. 为什么会出现这个问题

当前 docker-compose.yml 中的卷是 compose 自动创建的命名卷。默认 compose down -v 会删除它们。这是 Docker 的设计行为,不是 bug。但运维时手滑一下后果严重。


4. 补丁/修改做了什么

未修复。CLAUDE.md 记录了这是”当前架构最大的脆弱点”。


5. 性质判断

设计缺陷。卷没有额外的防误删保护。


6. 正确做法

docker-compose.yml 中卷声明加 external: trueexternal: true 的卷不会被 down -v 删除。SolarFlow 部署时直接在 compose 文件里写死。


7. 影响范围

  • 按错一次 = Press 数据全毁
  • 有备份可恢复,但 30 分钟恢复时间