Docker部署时如何修复Error loading ASGI app:导入字符串格式错误
问题解决:Error loading ASGI app. Import string格式错误
你的错误出在Dockerfile的CMD指令上,有两个关键问题:
- ASGI应用的导入格式错误,正确格式是
<模块路径>:<应用对象>,你写成了uvicorn.src.main.app,多了不必要的uvicorn.前缀,且没有用冒号分隔模块和对象 - 应用路径参数前多了一个空格
修正后的Dockerfile代码:
FROM python:3.10-slim WORKDIR /code COPY ./requirement.txt ./ RUN pip install --no-cache-dir -r requirement.txt COPY ./src ./src CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "90", "--reload"]
关键修正点说明:
- 将
" uvicorn.src.main.app"改为"src.main:app":src.main是你的Python模块路径(对应/code/src/main.py文件),app是该模块中定义的FastAPI/ASGI应用对象 - 去掉了应用路径参数前的多余空格,避免Uvicorn解析错误
内容的提问来源于stack exchange,提问作者Kabau Paatrick
相关产品推荐
相关产品推荐

