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?