# syntax=docker/dockerfile:1 # Образ scan-gateway для dev и `make check-full`. Контекст сборки — корень репозитория. # Библиотека передаётся контекстом statements (make docker-build, STATEMENTS_DIR). # Платформенные пакеты raisa_* (Nexus) в образ не ставятся — та же логика, что в `make venv`. FROM python:3.11-slim ENV PYTHONUNBUFFERED=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 WORKDIR /app/api COPY api/requirements.txt ./requirements.txt RUN --mount=type=bind,from=statements,target=/tmp/statements,rw \ grep -v '^raisa_' requirements.txt > /tmp/req.txt \ && pip install --no-cache-dir -r /tmp/req.txt /tmp/statements \ && rm /tmp/req.txt COPY api/ ./ EXPOSE 8000 # Шлюз. Эмулятор ИС Сканирование запускается из этого же образа командой `python -m src.scan_emulator`, # которую compose задаёт через `command`. CMD ["python", "run_server.py"]