ModuleNotFoundError: No module named 'app' fastapi docker

ModuleNotFoundError: No module named 'app' fastapi docker

FROM python:3.8
WORKDIR /app 

COPY requirements.txt /
RUN pip install --requirement /requirements.txt

COPY ./app /app

EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host=0.0.0.0" , "--reload" , "--port", "8000"]

我用的时候

docker-compose up -d
ModuleNotFoundError: No module named 'app'

先尝试创建 /app 文件夹

FROM python:3.8
RUN mkdir -p /app
WORKDIR /app 

COPY requirements.txt /
RUN pip install --requirement /requirements.txt

COPY ./app /app

EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host=0.0.0.0" , "--reload" , "--port", "8000"]

并启动它:

docker-compose up --build

CMD ["uvicorn", "main:app", "--host=0.0.0.0" , "--reload" , "--port", "8000"]

你的工作目录是/app,main.py文件已经存在,所以你不需要调用app.main模块。直接在CMD中调用main.py脚本即可。