forked from Dan4ick/Lidar_Muxa
- Dockerfile на python:3.11-slim с libgomp1, непривилегированным пользователем и healthcheck; - docker-entrypoint.sh с поддержкой шорткатов test/benchmark/evaluate/pipeline; - docker-compose.yml с профилями тестирования, оценки и бенчмарка; - docs/DOCKER.md: руководство по сборке, запуску и монтированию томов; - requirements.txt: добавлен matplotlib для построения графиков.
2.6 KiB
2.6 KiB
Руководство по запуску FlyGuard в Docker
1. Быстрая сборка образа
Сборка легковесного образа на базе python:3.11-slim-bookworm (включает OpenMP/BLAS и зависимости):
docker build -t flyguard:latest .
2. Запуск тестов
Контейнер по умолчанию выполняет самодиагностику и тестовый набор:
# Прямой запуск через Docker
docker run --rm flyguard:latest
# Либо через docker compose
docker compose run --rm test
3. Запуск конвейера и бенчмарка с данными лидара
Датасеты монтируются в контейнер в каталог /data:
# Оценка ложных тревог по всем бэгам
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. Интерактивная отладка
Войти внутрь контейнера с настроенным окружением:
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 testspipeline— вызываетtools/run_pipeline.pybenchmark— вызываетtools/make_benchmark.pyevaluate— вызываетtools/evaluate.pytrain-mbon— вызываетtools/train_mbon.pytrain-track— вызываетtools/train_track.pyplot— вызываетtools/plot_benchmark.pybash/sh— открывает командную оболочку