学习是一个逐步发现自己无知的过程!

容器健康检查

新项目一般不知道容器的健康检查配置、通过下面命令进行检查

docker inspect my_container --format='{{json .Config.Healthcheck}}'

对输出结果

{
    "Test": [
        "CMD-SHELL",
        "curl -f http://localhost/health || exit 1"
    ],
    "Interval": 30000000000,
    "Timeout": 3000000000,
    "Retries": 3,
    "StartPeriod": 90000000000
}

在这个示例中,你可以看到健康检查的命令是通过 cURL 访问 http://localhost/health,间隔时间为 30 秒,超时时间为 3 秒,最大重试次数为 3 次。

  • Test: 这个字段指定了健康检查的命令。在这个例子中,使用了 CMD-SHELL 来执行一条命令。命令是通过 cURL 访问 http://localhost/health 执行报错则会返回状态码 1,这表示只关注命令执行的结果,而不关心具体输出内容。如果命令返回非零状态码,健康检查会失败。
  • Interval: 表示健康检查的间隔时间。在这个配置中,健康检查会每 30 秒执行一次。
  • Timeout: 表示单个健康检查命令的最大执行时间。在这个配置中,单个检查命令的超时时间为 3 秒。
  • StartPeriod: 表示容器启动后,在开始进行健康检查之前的等待时间。在这个配置中,容器会启动 90 秒后开始进行健康检查。
  • Retries: 表示在检查失败时,进行的最大重试次数。在这个配置中,最大重试次数为 3 次。
赞(0)
未经允许不得转载:劉大帥 » 容器健康检查

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册