Docker Compose 依赖启动顺序:healthcheck 与 depends_on
·
一句话承诺:一张图+一个yaml,让服务按健康状态顺序启动,减少“连不上”的尴尬。
docker-compose.yml(示例)
version: '3.8'
services:
db:
image: postgres:14
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 3s
retries: 10
api:
build: ./api
depends_on:
db:
condition: service_healthy
web:
build: ./web
depends_on:
api:
condition: service_healthy
少量解释
- 使用 healthcheck 暴露容器健康;depends_on 条件为 service_healthy。
- 延迟启动可减少初期连接失败与重试开销。
常见坑与替代法
- 坑:健康检查脚本不可靠。替代:选择真实依赖的探针命令。
- 坑:健康通过但端口未就绪。替代:增加探针延迟与重试。
下一篇预告
Prometheus 指标与告警:Alertmanager 最小配置(yaml+图)。
更多推荐

所有评论(0)