Lidar_Muxa/docs/DOCKER.md
Zhirik1337 a06a2f45bb контейнеризация Docker и docker-compose для запуска и тестов
- Dockerfile на python:3.11-slim с libgomp1, непривилегированным пользователем и healthcheck;
- docker-entrypoint.sh с поддержкой шорткатов test/benchmark/evaluate/pipeline;
- docker-compose.yml с профилями тестирования, оценки и бенчмарка;
- docs/DOCKER.md: руководство по сборке, запуску и монтированию томов;
- requirements.txt: добавлен matplotlib для построения графиков.
2026-09-22 21:26:20 +03:00

81 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Руководство по запуску 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` — открывает командную оболочку