为何docker ps命令未显示容器的健康状态?
容器未显示健康状态的原因及解决办法
执行docker ps后第一个容器不显示healthy或unhealthy状态,主要是以下几种情况导致:
镜像未配置健康检查指令
Docker的健康状态显示完全依赖镜像中的HEALTHCHECK配置,如果镜像的Dockerfile里没有添加该指令,Docker不会对容器进行健康检测,自然不会显示状态。你可以查看镜像的Dockerfile,确认是否包含类似配置:HEALTHCHECK --interval=5m --timeout=3s \ CMD curl -f http://localhost/ || exit 1若没有,需给镜像添加该指令后重新构建。
启动容器时禁用了健康检查
如果启动容器时使用了--health-cmd=""或--no-healthcheck参数,会直接禁用健康检查功能,导致状态不显示。检查启动命令是否包含这类参数,移除即可恢复。Docker版本不支持健康检查
健康检查是Docker 1.12版本才引入的功能,若你使用的是更早的版本,升级到1.12及以上版本就能正常显示健康状态。健康检查尚未完成首次检测
刚启动的容器,健康检查会有一段启动等待时间(由--health-start-period参数控制,默认无),这段时间内Docker不会执行检测,状态也不会显示。等待一段时间后再执行docker ps就能看到结果。
内容的提问来源于stack exchange,提问作者Leon
相关产品推荐
相关产品推荐

