fix: add flower dependency and escape minio compose vars
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
## Work Log - 修复 Docker Flower 容器重启异常(2026-05-02)
|
||||
|
||||
- 背景:
|
||||
- `docker compose ps` 显示 `fquiz-flower` 持续 `Restarting`。
|
||||
- `docker compose logs flower` 报错:`Error: No such command 'flower'.`
|
||||
|
||||
- 根因:
|
||||
- `flower` 服务命令使用 `celery ... flower`,但 `api` 镜像依赖中未安装 `flower` 包。
|
||||
- 同时 `docker compose` 在解析阶段对 `minio-init.command` 中的 `$MINIO_*` 进行了提前插值,导致每次执行出现变量未设置 warning。
|
||||
|
||||
- 本次改动(最小闭环):
|
||||
- 文件:`api/requirements.txt`
|
||||
- 新增依赖:`flower==2.0.1`。
|
||||
- 文件:`api/pyproject.toml`
|
||||
- 新增依赖:`flower>=2.0.0,<3.0.0`,与 requirements 口径一致。
|
||||
- 文件:`docker-compose.yml`
|
||||
- `minio-init` 启动脚本中的变量引用改为 `$$MINIO_*`,避免 compose 提前展开:
|
||||
- `"$MINIO_ENDPOINT" -> "$$MINIO_ENDPOINT"`
|
||||
- `"$MINIO_ACCESS_KEY" -> "$$MINIO_ACCESS_KEY"`
|
||||
- `"$MINIO_SECRET_KEY" -> "$$MINIO_SECRET_KEY"`
|
||||
- `"$MINIO_BUCKET" -> "$$MINIO_BUCKET"`
|
||||
|
||||
- 验证:
|
||||
- 执行:`docker compose up -d --build flower`
|
||||
- `docker compose ps flower`:`Up`,不再重启。
|
||||
- `docker compose logs flower`:
|
||||
- 出现 `Visit me at http://0.0.0.0:5555`
|
||||
- 出现 `Connected to redis://redis:6379/0`
|
||||
- 执行:`docker compose logs --since=10m ... | rg "ERROR|Traceback|Exception|No such command|CRITICAL|FATAL|UndefinedColumn|relation \"|failed|denied|permission"`
|
||||
- 结果:近 10 分钟内无命中。
|
||||
|
||||
- 风险与影响:
|
||||
- 影响面:`api` 镜像新增 `flower` 依赖,镜像体积与构建时长略有增加。
|
||||
- 当前运行中的 `api/celery-worker/celery-beat/scheduler/web` 仍为既有镜像;本次仅重建并替换了 `flower`。
|
||||
Reference in New Issue
Block a user