容器主进程存在时,Docker 就可能显示 Up。本文整理两个容易忽略的环节,作为日常使用时的检查参考。

运行状态不等于业务状态

容器主进程存在时,Docker 就可能显示 Up。应用可能还在初始化,也可能主进程只是一个没有退出的入口脚本。健康检查应该触及真正提供服务的路径,而不只是检查进程号。

健康检查也需要设计

初始化时间较长时设置 start_period;测试命令要有超时,避免挂起。检查接口最好不依赖所有外部服务,否则外部网络短暂波动就会把容器标成异常。

日常使用的小结

再补一个面向用户入口的探测,才能覆盖反向代理、证书和 DNS。容器健康与公网访问正常,是两种互补的信号。