fix: add flower dependency and escape minio compose vars
This commit is contained in:
@@ -15,5 +15,6 @@ dependencies = [
|
||||
"python-multipart>=0.0.20,<1.0.0",
|
||||
"boto3>=1.40.0,<2.0.0",
|
||||
"celery[redis]>=5.5.0,<6.0.0",
|
||||
"flower>=2.0.0,<3.0.0",
|
||||
"rasterio>=1.4.0,<2.0.0",
|
||||
]
|
||||
|
||||
@@ -15,4 +15,5 @@ python-multipart==0.0.20
|
||||
boto3==1.40.59
|
||||
httpx==0.28.1
|
||||
celery[redis]==5.5.3
|
||||
flower==2.0.1
|
||||
rasterio==1.4.3
|
||||
|
||||
+2
-2
@@ -67,10 +67,10 @@ services:
|
||||
command:
|
||||
- -c
|
||||
- >
|
||||
until mc alias set local "$MINIO_ENDPOINT" "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY"; do
|
||||
until mc alias set local "$$MINIO_ENDPOINT" "$$MINIO_ACCESS_KEY" "$$MINIO_SECRET_KEY"; do
|
||||
sleep 1;
|
||||
done;
|
||||
mc mb -p "local/$MINIO_BUCKET" || true;
|
||||
mc mb -p "local/$$MINIO_BUCKET" || true;
|
||||
restart: "no"
|
||||
|
||||
api:
|
||||
|
||||
@@ -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