当前位置: 首页 > news >正文

uvicorn api:app --host 0.0.0.0 --port 7777容器运行失败

docker logs pycorrector-container-gpu

你这个报错的核心是:

ERROR: Error loading ASGI app, Could not import module "api".

这说明:

uvicorn api:app 没有找到 api.py 文件,或者没法导入 app 对象。


🔍 一步步排查你的命令问题

你的 docker run 命令如下(你写得有点乱,我先整理成正确格式):

docker run -d \--name pycorrector-container-gpu \--gpus "device=1" \-v /home/slx/pycorrector:/app/pycorrector \-p 7777:7777 \pycorrector:v2 \uvicorn api:app --host 0.0.0.0 --port 7777

✅ 问题出在这里:

你的代码实际在容器路径:

/app/pycorrector/api.py

但你运行 uvicorn api:app 的时候,默认是在 / 根目录下执行的,这个目录下并没有 api.py,所以报错:

Could not import module "api"

✅ 正确命令:加上 -w 参数,指定工作目录!

docker run -d \--name pycorrector-container-gpu \--gpus "device=1" \-v /home/slx/pycorrector:/app/pycorrector \-w /app/pycorrector \-p 7777:7777 \pycorrector:v2 \uvicorn api:app --host 0.0.0.0 --port 7777

说明:

  • -w /app/pycorrector 表示在容器中以这个路径作为“当前目录”执行命令
  • 所以 api:app 会去 /app/pycorrector/api.pyapp = FastAPI(),就不会报错了

✅ 检查路径是否正确

如果你不确定 /app/pycorrector/api.py 是否真的存在,可以先进入容器验证:

docker exec -it pycorrector-container-gpu bash
ls /app/pycorrector/api.py

🧪 快速测试

你也可以先用交互模式进去看看:

docker run -it --rm \--gpus "device=1" \-v /home/slx/pycorrector:/app/pycorrector \-w /app/pycorrector \pycorrector:v2 \bash

然后在容器中手动运行:

uvicorn api:app --host 0.0.0.0 --port 7777

如果能成功,就说明你的 Docker 镜像和代码都没问题,只是路径设置错了。


✅ 完整总结:你只需这样运行

docker run -d \--name pycorrector-container-gpu \--gpus "device=1" \-v /home/slx/pycorrector:/app/pycorrector \-w /app/pycorrector \-p 7777:7777 \pycorrector:v2 \uvicorn api:app --host 0.0.0.0 --port 7777

之后用浏览器访问:http://localhost:7777/docs 即可。


如你不确定 api.py 结构或文件是否正确,可以把 api.py 的内容贴出来我帮你确认。

相关文章:

  • servlet前后端交互
  • TDengine 与开源可视化编程工具 Node-RED 集成
  • 使用 OpenCV 和传统机器学习实现工业开关状态识别
  • 智能群跃小助手发布说明
  • Happy-LLM-task3 :2.1 注意力机制 2 天
  • torchmd-net开源程序是训练神经网络潜力
  • 谷歌浏览器电脑版官方下载- Google Chrome官方网页版入口
  • 日志监控与日志分析工具:ELK栈、Fluentd
  • Unity——碰撞体如何随图片形状发生变化
  • langchain 开发实战
  • Android sdk 36沉浸式兼容性问题修复
  • 一生一芯 PA2 RTFSC
  • 20250620在Ubuntu20.04.6下编译KickPi的K7的Android14系统解决缺少libril.so.toc的问题
  • websocket入门到实战(详解websocket,实战聊天室,消息推送,springboot+vue)
  • C#上位机实现报警语音播报
  • 信任再造:跌倒检测算法如何让善意不再“自证”
  • MySQL之事务深度解析
  • 免费音频视频语音识别转文字软件SenseVoice整合包下载,支持批量操作可生成字幕
  • Linux下nginx访问路径页面
  • XCUITest + Swift 详细示例
  • 怎么做属于自己的域名网站/关键词推广效果分析
  • 网站群管理系统哪个好/无锡seo
  • wordpress 报表图形/网站是怎么优化的
  • 直接IP做网站/搜索引擎优化介绍
  • 制作流程图的网站/技术培训
  • 免费做网站安全吗/seo营销论文