gpt4 book ai didi

docker - 如何在docker容器中为python代码添加健康检查

转载 作者:行者123 更新时间:2023-12-02 08:32:35 25 4
gpt4 key购买 nike

我刚刚开始探索Health Check docker 中的功能。所有在线教程都显示相同类型的健康检查示例。像这样link1 link2 。他们使用相同的命令:

HEALTHCHECK CMD curl --fail http://localhost:3000/ || exit 1

我有一个 python 代码,我已将其转换为 docker 镜像,并且其容器运行良好。我的容器中有运行良好的服务,但我想对此服务进行运行状况检查。它的启动/停止使用:

service <myservice> start

service <myservice> stop

该服务负责向服务器发送数据。我需要对此进行健康检查,但不知道该怎么做。我已经搜索过这个,但没有找到任何例子。任何人都可以指出我正确的链接或可以解释一下吗?

谢谢

最佳答案

运行状况检查命令并不是什么神奇的东西,而是您可以自动化以获得更好的服务状态的东西。

在设置运行状况检查之前您应该问自己的一些问题:

  • 假设我正常运行它而不是在容器内运行它,并且它不是一个自动化过程,而是我自己检查状态,我通常如何验证服务是否运行正常

  • 如果服务没有可以询问的开放端口,它是否宁愿将其成功/失败状态写入磁盘上的文件中?

  • 如果服务具有开放端口,但它通过自定义协议(protocol)进行通信,我是否有任何工具可以用来询问开放端口

让我们采用您列出的 curl 命令:这意味着列出的运行状况检查正在监视端口 3000 上启动的 http 服务。如果返回的 http 状态代码不是 200,curl 命令将失败。即非常简单地演示健康检查的用法。

假设您每 30 秒从服务中将成功失败写入文件,那么您的运行状况检查将是一个在遇到失败时异常退出的脚本 文本

假设您的服务有一个开放端口,但通过一些自定义协议(protocol)(如 Protocol Buffer )进行通信,那么您所要做的就是使用一个脚本调用它,该脚本使用 proto buf 对有效负载进行编码,然后检查收到的输出

等等...

关于docker - 如何在docker容器中为python代码添加健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48092770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com