我正在学习Dockerfile,我有以下问题。
我的app.py
包含运行状况检查:
import falcon
class Ping:
def on_get(self, req, resp):
"""Health check."""
resp.status = falcon.HTTP_OK
app = application = falcon.API()
app.add_route("/pozice_skladApi/v1/healthcheck", Ping())
我成功创建了Docker映像:
当我运行映像时,它似乎在http://0.0.0.0:80处侦听:
但我想运行运行状况检查,当我尝试wget http://0.0.0.0:80/pozice_skladApi/v1/healthcheck
时,我得到:
我做错了什么?谢谢。
1条答案
按热度按时间r3i60tvu1#
Listening at: http://0.0.0.0:80
意味着您的程序已经“绑定”到0.0.0.0,这意味着它将接受来自任何地方的连接。0.0.0.0不是真实的的IP地址。根据您执行健康检查的位置,您需要使用不同的地址,如果您在容器内部执行健康检查,您可以使用
http://localhost/pozice_skladApi/v1/healthcheck
。如果从主机执行此操作,则需要首先将容器中的端口80Map到主机上的空闲端口。如果端口8080空闲,则需要在
docker run
命令中添加-p 8080:80
,因此如下所示然后,您可以从主机访问
http://localhost:8080/pozice_skladApi/v1/healthcheck
上的运行状况检查