Home > database >  ModuleNotFoundError: No module named 'app' fastapi docker
ModuleNotFoundError: No module named 'app' fastapi docker

Time:03-02

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"]

when i used

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

  • the folders in Fastapi framework:

  • fastapi

    • app

      -main.py

  •    language_detector.py
    
  • Dockerfile

  • docker-compose

CodePudding user response:

Try creating the /app folder before

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"]

And launching it:

docker-compose up --build

CodePudding user response:

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

Your work directory is /app and the main.py file is already there .So you don't need to call app.main module. Just call main.py script directly in CMD.

CodePudding user response:

Have you built your docker image before using it?

  • Related