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

无法通过Docker运行Uvicorn服务器/FastAPI应用求助

Docker部署FastAPI应用排查方案

核心现象确认

容器日志显示FastAPI服务已完全启动,但外部无法访问;本地用Uvicorn运行正常,操作系统为Windows。以下是针对性排查步骤:


  1. 临时关闭Windows防火墙/安全软件测试
    Windows自带防火墙或第三方杀毒软件常拦截Docker端口转发请求,先临时关闭防火墙,再尝试访问http://127.0.0.1。若能访问,需在防火墙中添加Docker端口的允许规则。

  2. 改用127.0.0.1作为访问地址
    Windows部分场景下localhost解析可能异常,直接使用127.0.0.1访问,替代localhost。

  3. 移除Uvicorn的--reload参数
    容器环境不适合使用开发模式的重载功能,--reload可能引发进程异常。修改Dockerfile的CMD指令:

CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "80"]

重新构建并运行容器:

docker build -t fastapi-image .
docker run --rm --name fastapi-container -p 80:80 fastapi-image
  1. 检查80端口占用情况
    Windows下80端口易被IIS、Skype等服务占用,执行以下命令查看占用进程:
netstat -ano | findstr ":80"

若有占用,可停止对应进程,或更换端口映射(例如-p 8000:80),之后访问http://127.0.0.1:8000。

  1. 验证容器端口映射状态
    执行docker ps查看容器信息,确认PORTS列显示0.0.0.0:80->80/tcp或:::80->80/tcp,说明端口映射生效。若未显示,需重新运行容器并确保-p 80:80参数正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:04:55