32 lines
785 B
Docker
32 lines
785 B
Docker
FROM python:3.12-slim
|
|
|
|
# Устанавливаем зависимости для Poetry
|
|
RUN pip install poetry
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y \
|
|
build-essential \
|
|
gcc \
|
|
libffi-dev \
|
|
libssl-dev \
|
|
python3-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Устанавливаем рабочую директорию
|
|
WORKDIR /app
|
|
ENV PYTHONPATH=/app
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
|
|
# Копируем файлы Poetry (pyproject.toml и poetry.lock)
|
|
COPY pyproject.toml poetry.lock ./
|
|
|
|
# Устанавливаем зависимости через Poetry
|
|
RUN poetry install --no-root
|
|
|
|
# Копируем весь код приложения
|
|
COPY . .
|
|
|
|
# Команда для запуска приложения
|
|
CMD ["poetry", "run", "uvicorn", "src.main:app"]
|