首页 > 解决方案 > 如何使用 Docker 健康检查?

问题描述

根据https://docs.docker.com/engine/reference/builder/#healthcheck,我们可以对容器进行健康检查,给它们一些时间来启动,设置重试次数和超时等。

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

Docker 守护进程中是否有关于如何处理那些不健康的容器的任何后果或自定义逻辑?是否可以将其配置为自动重新启动这 N 次以尝试使它们起死回生?或任何其他程序化用途?

标签: docker

解决方案


Docker 在 swarm 模式下使用健康检查,自动替换不健康的容器,并减慢滚动更新以等待容器完成启动并恢复健康,然后再替换其他容器。

Docker compose 还有一些选项可以在部署具有依赖项的多容器项目时检查健康状态。

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


推荐阅读