如何使用Docker HEALTHCHECK?

如何使用Docker HEALTHCHECK?,docker,Docker,根据,我们可以对容器进行健康检查,给它们一些启动时间,设置重试次数和超时时间,等等 问题是:使用docker container ls查看容器状态是否是此功能的唯一用途?我知道,让一个人来检查是否有任何容器不健康并决定如何处理这些容器是非常方便的 Docker deamon中有没有关于如何处理那些不健康容器的任何后果或自定义逻辑?是否可以将其配置为自动重新启动这些N次,以使它们恢复生命?或任何其他编程用途?Docker在swarm模式下使用heathcheck,自动替换不健康的容器,并减缓滚动更

根据,我们可以对容器进行健康检查,给它们一些启动时间,设置重试次数和超时时间,等等

问题是:使用
docker container ls
查看容器状态是否是此功能的唯一用途?我知道,让一个人来检查是否有任何容器不健康并决定如何处理这些容器是非常方便的


Docker deamon中有没有关于如何处理那些不健康容器的任何后果或自定义逻辑?是否可以将其配置为自动重新启动这些N次,以使它们恢复生命?或任何其他编程用途?

Docker在swarm模式下使用heathcheck,自动替换不健康的容器,并减缓滚动更新,以等待容器完成启动并变得健康,然后再替换其他容器

Docker compose还提供了一些选项,用于在部署具有依赖项的多容器项目时检查运行状况

除此之外,健康状态只是信息,在容器列表和检查输出中作为容器元数据显示给用户。您可以配置外部监控来检测和响应该状态。但是docker引擎本身不会重新启动在swarm模式之外运行的不健康容器。

请参阅此处的更多信息:似乎可以使用
docker inspect查看健康检查的状态,并且可以查询健康状态。似乎这就是它的全部功能,您需要编写另一个程序来查询状态并以各种方式响应健康故障