Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在docker容器中为python代码添加运行状况检查_Docker - Fatal编程技术网

如何在docker容器中为python代码添加运行状况检查

如何在docker容器中为python代码添加运行状况检查,docker,Docker,我刚刚开始探索docker中的健康检查功能。所有在线教程都显示了相同类型的健康检查示例。这样地。他们正在使用相同的命令: HEALTHCHECK CMD curl——失败http://localhost:3000/ ||退出1 我有一个python代码,我已经将其转换为docker图像,它的容器运行良好。我有集装箱服务,运行良好,但我想对这项服务进行健康检查。它是通过以下方式启动/停止的: 服务启动 服务站 此服务负责向服务器发送数据。我需要做一个健康检查,但不知道怎么做。我已经搜索过了,没有找

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

HEALTHCHECK CMD curl——失败http://localhost:3000/ ||退出1

我有一个python代码,我已经将其转换为docker图像,它的容器运行良好。我有集装箱服务,运行良好,但我想对这项服务进行健康检查。它是通过以下方式启动/停止的:

服务启动

服务站

此服务负责向服务器发送数据。我需要做一个健康检查,但不知道怎么做。我已经搜索过了,没有找到任何例子。谁能给我指一下正确的链接或者解释一下吗


谢谢

健康检查命令并不是什么神奇的东西,而是可以自动执行的东西,以便在服务中获得更好的状态

在设置健康检查之前,您应该问自己一些问题:

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

  • 如果服务没有打开的端口,可以对其进行查询,它会将其成功/失败状态写入文件中的磁盘上吗

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

让我们使用您列出的
curl
命令:它意味着列出的healthcheck正在监视在端口3000上启动的http服务。如果返回的http状态代码不是200,则curl命令将失败。这非常直接地演示了健康检查的用法

假设从您的服务开始,每隔30秒将
success
failure
写入一个文件,那么您的healthcheck将是一个脚本,当遇到
失败时会异常退出

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

等等