当 HEALTHCHECK 失败时 Docker 容器会发生什么

2024-01-23

码头工人docs https://docs.docker.com/engine/reference/builder/#healthcheck说什么HEALTHCHECK说明是如何检查容器的健康状况。但我无法弄清楚健康检查失败时会发生什么。就像按照用户指令重新启动或停止容器或这两者中的任何一个一样。

另外引用的例子是:
HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/ || exit 1

是什么exit 1 about?


跑步时HEALTHCKECKS您可以指定:

  • --interval=DURATION(默认30秒)

  • --timeout=DURATION(默认30秒)

  • --retries=N(默认 3)

并且容器可以有三种状态:

  • starting– 容器仍在启动时的初始状态。

  • healthy– 当命令成功时。

  • unhealthy– 当单次运行时HEALTHCHECK花费的时间比指定的超时时间长。发生这种情况时,它将重试,如果仍然失败,将被声明为“不健康”。

当检查连续失败指定次数时,失败的容器将:

  • 如果处于“不健康”状态独立模式

  • 如果在则重新启动集群模式

否则它将退出并显示错误代码 0,这意味着它被认为是“健康”的。

我希望它能让事情变得更加清楚。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 HEALTHCHECK 失败时 Docker 容器会发生什么 的相关文章

随机推荐