两个服务的 healthcheck 配置都有历史遗留 bug,导致 docker ps
一直显示 unhealthy / health: starting:
1) notificationService
- 现象: docker-compose healthcheck 路径写 /healthz,但 pkg/health
只注册 /health (backend/pkg/health/health.go:29),wget 永远 404
- 修复: compose 路径 /healthz -> /health,Dockerfile HEALTHCHECK
同样改 /health (双保险,rebuild 后不会回退)
2) moderationService
- 现象: main.go 没启 health server (只暴露 Dubbo Triple 协议),
compose 原 healthcheck 端口 20011 永远 timeout,
Dockerfile HEALTHCHECK 也指向 20011 同样错
- 修复: compose 用 healthcheck: test: ["NONE"] 显式覆盖 image
HEALTHCHECK,Dockerfile 改成 HEALTHCHECK NONE (image-level
也禁掉,rebuild 后不会回退)
gateway depends_on moderationservice: service_started (不依赖 healthy),
不影响入口可用性。健康状态靠 gateway 间接覆盖。
Co-Authored-By: Claude <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| sql/migrations | ||
| .env | ||
| .env.local | ||
| .env.prod | ||
| build.sh | ||
| cleanup-logs.sh | ||
| deploy.sh | ||
| dify-deploy.sh | ||
| docker-compose.local.yml | ||
| docker-compose.prod.yml | ||
| Dockerfile.services | ||
| init-db.sql | ||
| SCHEMA_DIFF_REPORT.txt | ||
| start.sh | ||
| 快速配置更新指南.md | ||