forked from Zagato27/LoadLens
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
38 lines (28 loc) · 1.38 KB
/
Dockerfile
File metadata and controls
38 lines (28 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Используем официальный образ Python
FROM python:3.12-slim
# Принудительно ведём логирование в stdout/stderr и не пишем .pyc
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
# Обновляем pip
RUN pip install --upgrade pip
# Устанавливаем системные зависимости (если необходимо)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
curl \
&& rm -rf /var/lib/apt/lists/*
# Устанавливаем рабочую директорию внутри контейнера
WORKDIR /app
# Копируем файл зависимостей в контейнер
COPY requirements.txt .
# Устанавливаем зависимости Python
RUN pip install --no-cache-dir -r requirements.txt
# Копируем остальной код приложения в контейнер
COPY . .
# Открываем порт для взаимодействия (опционально, если нужно)
EXPOSE 5000
# Healthcheck: приложение должно отвечать на /
HEALTHCHECK --interval=30s --timeout=5s --retries=5 CMD curl -fsS http://localhost:5000/ || exit 1
# Определяем команду для запуска приложения
CMD ["python", "app.py"]