31 lines
1.3 KiB
Docker
31 lines
1.3 KiB
Docker
# Используем легкий образ Python
|
|
FROM python:3.11-slim
|
|
|
|
# Устанавливаем рабочую директорию внутри контейнера
|
|
WORKDIR /app
|
|
|
|
# Запрещаем Python писать файлы .pyc и включаем небуферизованный вывод (полезно для логов)
|
|
ENV PYTHONDONTWRITEBYTECODE 1
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
# Устанавливаем зависимости системы (нужны для сборки некоторых пакетов)
|
|
RUN apt-get update && apt-get install -y --no-install-recommends gcc libpq-dev && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Копируем и устанавливаем зависимости Python
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Копируем весь проект в контейнер
|
|
COPY . .
|
|
|
|
# ... (твои предыдущие шаги: FROM, WORKDIR, COPY) ...
|
|
|
|
# Копируем скрипт и даем ему права на выполнение
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Указываем скрипт как точку входа
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
# Команда по умолчанию (которую подхватит exec "$@" в скрипте)
|
|
CMD ["gunicorn", "core.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "3"] |