加速 docker 个健康检查容器

speed up docker healthcheck containers

我想加快容器启动时间,但我的健康检查不允许。 假设我正在进行健康检查

HEALTHCHECK --interval=300s --timeout=5s --start-period=5s --retries=3 CMD \
    curl http://localhost:<port> > /dev/null || exit 1

我想要的是不要等待 300+ 秒来启动容器,而是检查它是否健康。 10 秒 [也许它里面的应用程序已经启动并且 运行 10 秒后] 如果一切正常启动容器。

我需要 300+ 秒的间隔,因为我不想检查它的内部健康状况的频率超过 1/300

我怎样才能做到这一点?

目前没有内置的方法来减少时间,直到执行第一次健康检查。 Docker 总是在容器启动和第一次健康检查之间等待一个完整的时间间隔。 start-period 选项只是定义了一个宽限时间,它允许健康检查失败而不会将容器标记为不健康。这只有在 interval 低于 start-period 时才有意义。

有一个添加选项的功能请求,该选项减少容器启动时的间隔,使容器更快进入健康状态: https://github.com/moby/moby/issues/33410