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

Docker构建的Python API容器无法访问问题求助

问题排查与解决步骤
  • 确认端口映射有效性

    1. 执行 docker ps 查看容器的PORTS列,确认是否存在0.0.0.0:80->80/tcp的映射记录。若没有,需重新运行容器并添加参数 -p 80:80。
    2. 检查PyCharm的Docker运行配置,确认「Port Bindings」已正确设置主机端口80映射到容器端口80。
  • 验证容器内服务状态

    1. 通过 docker exec -it <容器ID/名称> bash 进入容器内部。
    2. 执行 ps aux | grep uvicorn 查看uvicorn进程是否存在。若进程不存在,检查main.py中FastAPI实例是否命名为app,或是否有代码错误导致启动失败。
    3. 在容器内手动运行 uvicorn main:app --host 0.0.0.0 --port 80,直接查看启动时的报错信息。
  • 测试容器内外网络连通性

    1. 在容器内部执行 curl http://localhost:80 或 curl http://0.0.0.0:80,验证服务是否能正常响应。若容器内可访问但外部不行,优先排查主机防火墙是否拦截了80端口,或端口映射配置错误。
    2. 检查主机防火墙规则:Linux用ufw status查看,Windows检查Defender防火墙入站规则。
  • 核对FastAPI路由与文档路径

    1. 确认main.py中是否定义了根路由(@app.get("/")),若无该路由,访问根路径会返回404,但至少应有响应;若无响应则仍为服务启动问题。
    2. FastAPI默认文档路径为小写的/docs,尝试访问http://0.0.0.0:80/docs而非大写的/Docs。
  • 排查依赖与代码报错

    1. 检查requirements.txt是否包含uvicorn和fastapi依赖,缺失会导致服务无法启动。
    2. 执行 docker logs <容器ID/名称> 查看容器启动日志,定位是否有依赖缺失、代码语法错误等问题。

内容的提问来源于stack exchange,提问作者Sin of Greed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:25:27