2026-04-02 17:28:32 +03:00
|
|
|
|
FROM python:3.11-slim
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
2026-04-02 18:50:50 +03:00
|
|
|
|
# 1. Копируем только файл с зависимостями (меняется редко)
|
|
|
|
|
|
COPY api/requirements.txt requirements.txt
|
2026-04-02 17:28:32 +03:00
|
|
|
|
|
2026-04-02 18:50:50 +03:00
|
|
|
|
# 2. Устанавливаем зависимости (слой кэшируется, пока не изменился requirements.txt)
|
|
|
|
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
2026-04-02 17:30:26 +03:00
|
|
|
|
|
2026-04-02 18:50:50 +03:00
|
|
|
|
# 3. Копируем весь остальной код (меняется часто)
|
|
|
|
|
|
COPY api/ api/
|
2026-04-02 17:28:32 +03:00
|
|
|
|
|
|
|
|
|
|
EXPOSE 8000
|
|
|
|
|
|
|
2026-04-03 15:54:28 +03:00
|
|
|
|
CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000", "--root-path", "/python-common-app"]
|