You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python请求Docker部署的FastAPI报ConnectionRefusedError错误原因是什么

Docker部署FastAPI服务连接拒绝问题排查

出现Connection refused错误通常由以下几种原因导致:

  • 端口未正确映射
    Dockerfile中的EXPOSE 50只是声明容器要使用50端口,不会自动将容器端口映射到宿主机。启动容器时必须添加端口映射参数,否则宿主机无法访问容器内的服务:
docker run -p 50:50 <你的镜像名称>

如果宿主机50端口被其他进程占用,可更换宿主机端口映射,比如映射到8080端口:

docker run -p 8080:50 <你的镜像名称>
  • 请求地址填写错误
    0.0.0.0是服务监听地址,代表容器内监听所有网卡的请求,不是可直接访问的目标地址。本地访问时需要将请求地址改为127.0.0.1或者localhost,对应修改请求代码:
import requests
# 端口和映射的宿主机端口保持一致
resp = requests.get('http://127.0.0.1:50/')
print(resp.json())

如果更换了宿主机映射端口,要同步修改请求地址中的端口号。

  • 服务未完成启动就发起请求
    你的服务启动时需要加载spacy的en_core_web_lg大模型,初始化依赖项也需要一定时间,容器刚启动就发起请求会因为服务未就绪被拒绝。可以等待10~20秒后再发起请求,或者在请求代码中增加重试逻辑。
  • 端口占用或防火墙拦截
  1. 执行命令检查宿主机对应端口是否被占用:
    • Linux环境:netstat -tulpn | grep 50
    • macOS环境:lsof -i :50
  2. 跨设备访问时需要检查宿主机防火墙是否开放对应端口,云服务器还要检查安全组规则是否放行端口。
  • 容器启动失败
    执行docker ps查看容器是否处于运行状态,如果容器已经退出,执行docker logs <容器ID>查看服务启动日志,排查依赖缺失、代码报错等启动失败问题。

内容的提问来源于stack exchange,提问作者Kelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:54:02