← 全部文章

技术与生活 / 一篇记录

Up 和 Healthy,说的是不同层次的事

进程存在与业务接口能够响应是不同状态,健康检查要覆盖最小可用路径。

容器 Up 说明入口进程仍在运行,Healthy 则取决于配置的探测命令。应用卡死、依赖不可达或内部错误时,进程可能没有退出,业务却已经不可用。

操作与观察

容器名与镜像名仅作示例;操作前先确认目标对象,不直接对不明数据执行清理。

docker inspect --format '{{json .State.Health}}' demo-app

同时检查探测结果、应用日志和真实请求。

让探测只验证清晰的最小能力,再补外部真实请求。健康检查太重会增加负载,太轻又可能一直报正常,需要围绕实际故障模式取舍。

健康状态改变不会在所有部署方式中自动触发重启。需要恢复动作时,应明确由谁执行,避免把健康检查当成完整自愈系统。任何自动恢复都应该保留可追溯日志。

别遗漏这条边界

没有配置 healthcheck 时没有健康状态,不能把空值理解为健康。

参考:Docker 文档。

搜索文章

输入关键词,找回一篇记录。