28 lines
1.3 KiB
Docker
28 lines
1.3 KiB
Docker
# LoadTest — Flask-сервис проверки загрузки файлов/сообщений.
|
||
# Образ: naeel/loadtest (Docker Hub, публичный — требование платформы Nubes).
|
||
#
|
||
# Деплой через «Простой HTTP контейнер»:
|
||
# - путь до образа: naeel/loadtest:<tag>
|
||
# - порт берётся из EXPOSE (ровно один) — 5000
|
||
# - переменные пода (env) — задаются в ЛК при создании (если нужны)
|
||
|
||
FROM python:3.12-slim
|
||
|
||
WORKDIR /app
|
||
|
||
COPY requirements.txt .
|
||
|
||
RUN pip install --no-cache-dir -r requirements.txt
|
||
|
||
COPY site /app/site
|
||
|
||
EXPOSE 5000
|
||
|
||
# gunicorn вместо dev-сервера Flask:
|
||
# --timeout 300 — чтобы платформа/шлюз не резали долгие POST
|
||
# --workers 1 — однорепликовый тест-сервис, больше не нужно
|
||
# ВАЖНО: --chdir /app/site + app:app (НЕ site.app:app!) — папка site
|
||
# конфликтует со stdlib-модулем Python site.py (автозагружается при старте),
|
||
# поэтому import site.app всегда падает с ModuleNotFoundError.
|
||
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--chdir", "/app/site", "--timeout", "300", "--workers", "1", "app:app"]
|