合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
今天我们接着上次的docker健康检查机制那篇文章,讲述一下如何给不健康的容器进行重启。另外有读者反馈有几个参数不是很理解,我们会在这篇文章里再补充讲解一下。
Docker在1.12版本之后提供了HEALTHCHECK指令,可以设定一行command用来判断服务的状态是否正常,这样可以更准确地判断服务状态。
HEALTHCHECK Container启动后的初始状态为starting,在指令检查成功后,状态会更改为healthy,如果连续失败超过指定次数则会改为unhealthy。看下HealthCheck的工作机制。
HEALTHCHECK参数选项:
--interval: Health check时间间隔,预设为30秒
--timeout:当Health check超过此设定的时间,则会视为失败,预设为30秒
--retries:当Health check连续失败次数超过此设定时,则会将状态更改为,预设为3次unhealthy
--start-period:启动时间,预设为0秒
在Dockerfile中,HEALTHCHECK指令格式为
HEALTHCHECK [options] CMD <command>
TOP