Software Engineer
FROM python:3.8 EXPOSE 8080 WORKDIR /app COPY requirements.txt requirements.txt RUN pip install -r requirements.txt COPY . . CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
COPY . /app RUN pip install -r requirements.txt # VVV RUN pip install -r requirements.txt COPY . /app
Пока что тоже откачу. Через недельку снова попробуем
FROM python:3.8
EXPOSE 8080
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
Как раз именно так рекомендует собирать сам Docker.
Из минусов — дважды будем копировать requirements.txt, но переживем)
COPY . /app
RUN pip install -r requirements.txt
# VVV
RUN pip install -r requirements.txt
COPY . /app
Чтобы docker layers кешировались и не нужно было каждый раз переустанавливать зависимости.