Docker部署Falcon API后健康检查请求连接重置问题求助
问题原因及修复方案
1. 端口映射不匹配(核心原因)
你的Gunicorn服务在容器内绑定的是8000端口(Dockerfile的CMD指令:gunicorn "app" --bind ":8000"),但运行容器时使用的端口映射是 -p 8099:80——这会把主机的8099端口转发到容器的80端口,而容器内80端口没有任何服务监听,因此请求会被重置,出现Connection reset by peer错误。
2. 请求URL存在冗余斜杠(次要问题)
你执行的wget命令中URL包含双斜杠:http://localhost:8099//exp_costs/v1/healthcheck,虽然Falcon框架通常能兼容这种格式,但建议修正为单斜杠的标准格式,避免潜在的路由解析异常。
3. Dockerfile中的依赖安装错误(潜在隐患)
Dockerfile的RUN指令里有一个无效参数:pip install --python --no-cache-dir -r requirements.txt,其中--python是错误参数,会导致依赖安装失败,进而可能让服务无法正常启动。
修复步骤
- 修正容器运行命令的端口映射:
sudo docker run -it -p 8099:8000 costs_expedice - 使用正确的URL发起请求:
wget http://localhost:8099/exp_costs/v1/healthcheck - 修正Dockerfile的依赖安装命令:
RUN apt update && \ pip install gunicorn && \ pip install --no-cache-dir -r requirements.txt
内容的提问来源于stack exchange,提问作者vojtam
相关产品推荐
相关产品推荐

