首页 > 解决方案 > 如何在 python docker 容器中侦听 HTTP ping?

问题描述

这是我第一次使用 Azure webapps 和 docker 容器。我创建了一个工具,该工具在 Python Docker 容器中的 Web 应用程序服务计划上运行。在本地测试一切都很好,但现在部署后,我在日志中看到有关容器如何不断关闭的内容,因为它没有响应 HTTP ping。

我没有在我的代码中设置任何类型的侦听器,但现在我需要创建一个来解决这个问题。我怎样才能让它只监听 HTTP ping 并返回响应,以便我的容器实例可以运行?

我正在尝试在本地执行此操作,我在我的 dockerfile 中公开了端口 8000 并尝试使用下面的代码,但是每当我尝试 ping localhost/8000 时,我都会收到“未知主机”错误。

import http.server
import socketserver

PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
  print("serving at port", PORT)
  httpd.serve_forever()

标签: python-3.xdockerazure-webapps

解决方案


如果通过 ping,您的意思是实际的 ping 命令,它不会那样工作。如果您想检查您的服务器并查看它是否已启动,请尝试以下操作:

curl localhost:8080

如果您使用的是 Linux 或 Mac,则在终端中。或者打开浏览器并在浏览器中输入:

localhost:8080

推荐阅读