arm-scan-gateway/Dockerfile

25 lines
1.0 KiB
Docker

# 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"]