我最近在我的配置中设置了healthcheck
s 。docker-compose
它做得很好,我喜欢它。这是一个典型的例子:
services:
app:
healthcheck:
test: curl -sS http://127.0.0.1:4000 || exit 1
interval: 5s
timeout: 3s
retries: 3
start_period: 30s
我的容器启动速度很慢,因此我设置了 30 seconds start_period
。
但这并不真正符合我的期望:我不需要每 5 秒检查一次,但我需要知道容器何时第一次为我的编排准备好,并且由于 mystart_period
是近似的,如果它第一次检查还没有准备好,我必须等待interval
才能重试。
我想要的是:
- 当容器不健康时,每 5 秒重试一次
- 健康后,每 1 分钟检查一次
没有办法实现这个开箱即用的docker-compose
吗?
我可以编写一个自定义脚本来实现这一点,但如果可能的话,我宁愿有一个本机解决方案。