# Руководство по запуску FlyGuard в Docker ## 1. Быстрая сборка образа Сборка легковесного образа на базе `python:3.11-slim-bookworm` (включает OpenMP/BLAS и зависимости): ```bash docker build -t flyguard:latest . ``` --- ## 2. Запуск тестов Контейнер по умолчанию выполняет самодиагностику и тестовый набор: ```bash # Прямой запуск через Docker docker run --rm flyguard:latest # Либо через docker compose docker compose run --rm test ``` --- ## 3. Запуск конвейера и бенчмарка с данными лидара Датасеты монтируются в контейнер в каталог `/data`: ```bash # Оценка ложных тревог по всем бэгам docker run --rm \ -v /path/to/lidar/data:/data:ro \ -v $(pwd)/artifacts:/app/artifacts \ --shm-size=2g \ flyguard:latest evaluate --mbon-dir artifacts/mbon_folds # Запуск полигона дальности с новыми аугментациями docker run --rm \ -v /path/to/lidar/data:/data:ro \ -v $(pwd)/artifacts:/app/artifacts \ --shm-size=2g \ flyguard:latest benchmark --memory artifacts/mushroom_body.npz --augment # Прогон по конкретному бэгу с выводом телеметрии в реальном времени docker run --rm \ -v /path/to/lidar/data:/data:ro \ flyguard:latest pipeline --bag /data/for_hackathon/doubleT_obstacle --verbose ``` --- ## 4. Интерактивная отладка Войти внутрь контейнера с настроенным окружением: ```bash docker compose run --rm shell # или docker run -it --rm \ -v /path/to/lidar/data:/data:ro \ -v $(pwd)/artifacts:/app/artifacts \ flyguard:latest bash ``` --- ## 5. Доступные команды шорткатов entrypoint Точка входа `docker-entrypoint.sh` поддерживает удобные псевдонимы: * `test` — запускает автономный набор юнит-тестов (`tests/run_tests.py`) * `pytest` — запускает `pytest tests` * `pipeline` — вызывает `tools/run_pipeline.py` * `benchmark` — вызывает `tools/make_benchmark.py` * `evaluate` — вызывает `tools/evaluate.py` * `train-mbon` — вызывает `tools/train_mbon.py` * `train-track` — вызывает `tools/train_track.py` * `plot` — вызывает `tools/plot_benchmark.py` * `bash` / `sh` — открывает командную оболочку