Документация · v3.4.1

Руководство по HazeDock

Практический справочник: как поставить агент, поднять первую изолированную среду, описать её в YAML и не потеряться в CLI. Всё, что нужно, чтобы начать писать код — и не думать о «у меня работает».

Быстрый старт

Установка и настройка за три минуты

Один агент, один каталог, одна команда. HazeDock ставится локально и не требует отдельного облака на этапе разработки.

Агент управляет изоляцией, сетью и томами на вашей машине. После установки он слушает локальный сокет /tmp/hazedock.sock и готов принимать команды CLI.

Минимальные требования: Linux 5.10+ или macOS 13.4+, make и от 4 ГБ свободного места на диске. Для команд с флагами --gpu нужен драйвер nvidia-smi версии 525.85.12 или новее.

К справочнику CLI-команд →
Разработчик настраивает изолированную среду HazeDock в терминале agent 3.4.1 · connected
Шаг 1 · Установка

Скопируйте команду, проверьте агент

Агент устанавливается в пользовательский каталог и не требует прав суперпользователя.

terminal — install
$curl -sSL https://hazedock.dev/install.sh | sh
• скачиваю агент 3.4.1 (42 МБ)… OK
• каталог: ~/.hazedock
• сокет: /tmp/hazedock.sock OK
$hazedock doctor
• ядро 5.15.0-91 · cgroup v2: OK
• сеть 172.20.0.0/16: OK
• GPU nvidia 525.85.12: опционально
• готово за 38s · верс. 3.4.1 OK
Справочник CLI

Команды, которыми вы будете пользоваться каждый день

Все команды работают через локальный агент. Флаги одинаковы на macOS и Linux.

hazedock up [имя]

Поднимает среду из конфига. Флаги: --env dev|staging, --detach, --gpu. Без имени поднимает всё из hazedock.yml.

hazedock down

Останавливает среды и освобождает сеть. Данные в volumes сохраняются. Флаг --purge удаляет и тома — используйте с осторожностью.

hazedock snapshot

Делает снимок состояния среды. --name clean-v1 задаёт метку, --share создаёт ссылку для коллег.

hazedock restore

Возвращает среду к снапшоту. hazedock restore clean-v1 откатывает данные, сеть и процессы к сохранённой точке.

hazedock logs

Показывает логи среды в реальном времени. Флаг --follow держит поток открытым, --since 5m ограничивает окно.

hazedock doctor

Диагностика агента: ядро, cgroup, сеть, GPU и сокет. Выводит список проблем и предлагает команды для их исправления.

Конфигурация

Опишите среду в одном YAML-файле

Файл hazedock.yml кладётся в корень проекта и под версионным контролем. Один файл — вся среда.

Поля конфига

Блок services описывает каждый сервис: образ, порты и переменные. Блок network задаёт подсеть, а volumes — куда писать данные.

В блоке snapshots можно задать автоматические снимки: on: [build, test] сохранит точку после сборки и тестов.

Все пути в volumes относительны к каталогу ~/.hazedock/volumes. Переменные окружения берутся из файла .hazedock.env, который не попадает в git.

hazedock.yml
services:
api-service:
image: registry.local/api:3.4.1
ports: ["8080:8080"]
env: DATABASE_URL
network:
subnet: 172.20.0.0/16
volumes:
pg-data: pg15
snapshots:
on: [build, test]
Recipes

Готовые примеры под реальные задачи

Скопируйте конфиг, подставьте свои образы — и поднимайте среду одной командой.

Монорепо: 4 сервиса в одной сети

Описывает api-service, worker, postgres и redis в подсети 172.20.0.0/16. Команда hazedock up поднимает все четыре за ~6 секунд.

ML-пайплайн с GPU

Среда train-gpu с флагом --gpu. Дедикатит одну карту nvidia-smi, монтирует датасеты в /data и пишет веса в volume checkpoints.

Отладка продакшн-инцидента

Копирует снапшот prod-snapshot-0921 в локальную среду incident-4471. Вы воспроизводите баг на чистом состоянии без риска для прода.

Решение проблем

Когда запуск не идёт гладко

Пять ситуаций, с которыми сталкиваются чаще всего, и что делать в каждой.

«Порт 8080 уже занят»

Другая среда или локальный процесс занял порт. Запустите hazedock doctor, чтобы найти владельца, или переопределите порт в hazedock.yml на 8081.

Запуск дольше 30 секунд

Обычно кэш образов пуст. Команда hazedock pull --all прогревает пул заранее. После этого запуск среды падает до 2–4 секунд.

Снапшот не создаётся

Проверьте права на каталог ~/.hazedock/snapshots и свободное место. В логах hazedock logs --since 5m будет точная строка с кодом ошибки.

Агент «не видит» сокет

Перезапустите агент: hazedock agent restart. Если не помогло — удалите /tmp/hazedock.sock и перезапустите. hazedock doctor подскажет следующий шаг.

API Reference

Глубже в документацию

CLI — только верхушка. Полный референс по REST API, событиям агента и расширению через плагины.

REST API

Локальный API на http://127.0.0.1:7777. Создавайте среды, снимайте снапшоты и подписывайтесь на события через HTTP. OpenAPI-спецификация доступна в репозитории.

События агента

Поток событий по WebSocket: env.started, snapshot.created, network.allocated. Интегрируйте в CI и дашборды.

Плагины и образы

Собственные драйверы для нестандартных стеков: WebAssembly, локальные VM, кастомные сетевые правила. Документация по написанию плагинов на Go и Rust.

Хватит читать — поднимите первую среду

За минуту вы получите изолированную комнату для своего кода. Без карты и без звонков продаж.