派派工作流Agent项目面试题预测:Docker容器部署篇
1. Docker Compose 中的 depends_on 和健康检查有什么区别?
考察点:Docker Compose
参考答案:
depends_on 只保证容器按顺序启动,不保证服务真正可用。
services:
app:
depends_on:
- mysql # 只保证 mysql 容器先启动
因此会存在这样一个问题,比如说 MySQL 容器启动了,但数据库可能还没初始化完,另外一个需要连接 MySQL 的服务可能就会启动失败。
于是就需要做健康检查,这样才能保证服务真正可用:
services:
mysql:
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
app:
depends_on:
mysql:
condition: service_healthy # 等 MySQL 健康检查通过才启动
换句话说,我们在启动工作流引擎服务的时候,会通过 depends_on 依赖 MySQL 和 MySQL,并通过健康检查确保 MySQL 和 Redis 已经准备好连接再启动 workflow 服务。
mysql:
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost...
1 条评论
回复