根据https://docs.docker.com/engine/reference/builder/#healthcheck的说法,我们可以对容器进行健康检查,给它们一些启动时间,设置重试和超时的次数,等等。
问题是:使用docker container ls查看容器的状态是此功能的唯一用途吗?我知道,让人来查看是否有任何容器不健康并决定如何处理这些容器是非常方便的。
如何处理那些不健康的容器,在Docker守护进程中有没有什么后果或自定义逻辑?有没有可能将其配置为自动重启N次,以试图使它们复活?或任何其他编程用途?
发布于 2021-01-14 09:39:16
Docker在集群模式下使用heathcheck,自动替换不健康的容器,并减慢滚动更新速度,等待容器完成启动并恢复健康后再替换其他容器。
Docker compose还提供了一些选项,用于在部署具有依赖关系的多容器项目时检查健康状态。
除此之外,健康状态只是信息,在容器列表和检查输出中以容器元数据的形式显示给用户。您可以配置外部监视器来检测该状态并对其做出反应。但是,docker引擎本身不会重新启动在swarm模式之外运行的不健康容器。
https://stackoverflow.com/questions/65711938
复制相似问题