Davit: нативный GUI для Apple Containers на macOS
Davit — бесплатный open-source интерфейс для Apple Containers на Apple Silicon. Запускайте Linux-контейнеры без Docker Desktop прямо из macOS.
Davit: нативный GUI для Apple Containers на macOS
Если вы разработчик на Mac с процессором Apple Silicon и вам надоело терпеть прожорливый Docker Desktop, у вас есть повод для радости. В 2025 году Apple представила на WWDC собственный open-source инструмент для запуска Linux-контейнеров — и сообщество немедленно откликнулось. Один из лучших результатов этого отклика — Davit: полностью нативный macOS-интерфейс для Apple Containers, написанный на SwiftUI, бесплатный и открытый.
В этой статье разберёмся, что такое Apple Containers, почему это не просто «ещё один Docker», и как Davit превращает мощный, но сугубо командный инструмент в удобное desktop-приложение.
Что такое Apple Containers и зачем они нужны
Apple Container — это open-source утилита командной строки и среда выполнения, разработанная Apple для создания, управления и запуска Linux-контейнеров на macOS. Инструмент был представлен в 2025 году на WWDC, написан на Swift и специально оптимизирован под Apple Silicon.
Главное, что отличает Apple Containers от всего, что было раньше, — архитектурное решение. В отличие от традиционных движков вроде Docker Desktop, которые запускают все контейнеры внутри одной общей виртуальной машины Linux, Apple Container использует архитектуру «одна VM на контейнер» для улучшения безопасности и изоляции ресурсов.
Фреймворк создаёт эти VM с помощью оптимизированной конфигурации ядра Linux, специально спроектированной для быстрой загрузки. Контейнеры достигают времени запуска менее одной секунды благодаря тщательной оптимизации ядра и минимальной корневой файловой системе. Система исключает ненужные утилиты, динамические библиотеки и реализации libc, чтобы уменьшить поверхность атаки и улучшить производительность.
Container использует open-source пакет Containerization для запуска лёгкой VM для каждого создаваемого контейнера, уделяя приоритет безопасности, конфиденциальности и производительности. При этом инструмент потребляет и создаёт OCI-совместимые образы контейнеров, поэтому вы можете скачивать и запускать образы из любого стандартного реестра контейнеров.
Почему это лучше Docker Desktop на Mac?
На протяжении многих лет запуск контейнеров на macOS был связан с компромиссами. Docker Desktop использовал HyperKit для виртуализации Linux — просто в использовании, но ресурсоёмко. Альтернативы вроде Rancher Desktop и OrbStack улучшили ситуацию, будучи легче, быстрее и удобнее для разработчиков, однако все они зависели от одного и того же подхода: эмуляции или виртуализации Linux внутри macOS.
В отличие от традиционного Docker (который разделяет ядро хоста), Apple Container использует отдельное ядро внутри каждой micro-VM. Контейнеры не требуют привилегий root для запуска. После остановки контейнера все ресурсы (RAM, CPU) полностью освобождаются.
«Каждый контейнер работает в собственной лёгкой VM через фреймворк Apple Virtualization — загрузка менее секунды, собственный IP-адрес для каждого контейнера, оптимизация под Apple Silicon.»
Davit: что это и откуда взялось
Davit — это нативный macOS UI для контейнерной платформы Apple: думайте о нём как об OrbStack или Docker Desktop, но для стека Linux-containers-as-lightweight-VMs, который Apple поставляет для Apple Silicon.
Davit (давит) — это судовой кран, который поднимает груз и малые суда за борт — примерно то же самое это приложение делает с вашими контейнерами.
Проект создан разработчиком Wouter de Bie и опубликован на GitHub под лицензией MIT. Это полностью нативное macOS-приложение для контейнерной платформы Apple — запускайте Linux-контейнеры на Apple Silicon без Docker Desktop.
Davit можно установить через Homebrew одной командой:
brew install wouterdebie/tap/davit
Или скачать подписанный и нотаризованный .dmg с официального сайта davit.app. Права администратора для установки не требуются.
Технический фундамент
Davit общается напрямую с open-source демоном контейнеров Apple через XPC — тот же путь передачи данных, что использует CLI. Никакого Electron, никаких веб-представлений, никаких собственных фоновых агентов.
Davit подключает собственную библиотеку Apple ContainerAPIClient и напрямую общается с container-apiserver через XPC — тот же путь передачи данных, что использует container CLI. CLI-бинарник никогда не вызывается: списки, жизненный цикл, живая статистика, потоковая передача логов, загрузка образов, управление томами/сетями, встроенный shell (davit exec) и даже начальная загрузка службы launchd — всё идёт через API.
Приложение полностью построено на SwiftUI. Это не кросс-платформенный «порт», а настоящее macOS-приложение, разработанное с нуля для работы на Apple Silicon.
Возможности Davit: что умеет интерфейс
Дашборд и мониторинг
Дашборд отображает статус сервисов с возможностью запуска/остановки одним кликом, счётчики ресурсов, использование диска с меню очистки свободного пространства, живой агрегированный график CPU по всем запущенным контейнерам.
CPU и память каждого контейнера обновляются каждые 2 секунды. Сеть, порты, монтирование и переменные окружения видны с первого взгляда. Образы отображаются с размерами, платформами и бейджами использования.
Управление контейнерами
Запуск, остановка, перезапуск и удаление с живыми показателями CPU, памяти и IP в каждой строке. Потоковые логи с режимами follow и boot, живые графики статистики и просмотр «сырой» конфигурации.
Поскольку контейнеры неизменяемы на этой платформе, «редактирование» открывает диалог Run, предзаполненный портами/env/монтированиями/ресурсами/сетью контейнера, и заменяет его после подтверждения.
Терминал и shell
Откройте интерактивный shell в любом работающем контейнере прямо в Terminal или iTerm — через нативный API, без CLI.
Установка платформы без прав администратора
Если контейнерная платформа не установлена, Davit скачивает подписанный инсталлятор Apple, верифицирует его и настраивает всё в пользовательской библиотеке — без прав администратора. Он также может добавить CLI контейнеров в ваш shell.
Работа с образами
Полная совместимость с OCI. Загружайте образы с Docker Hub, ghcr.io, quay.io или любого реестра. Ваши существующие образы просто работают.
graph TD
A[Davit UI - SwiftUI] -->|XPC| B[Apple container-apiserver]
B --> C[ContainerAPIClient]
C --> D[Micro-VM 1]
C --> E[Micro-VM 2]
C --> F[Micro-VM N]
D -->|OCI image| G[Docker Hub / ghcr.io / quay.io]
E -->|OCI image| G
A -->|Terminal / iTerm| H[Interactive Shell]
A -->|Homebrew install| I[Установка платформы]
Davit vs конкуренты: сравнение GUI-решений
После выхода Apple Containers возникло несколько GUI-инструментов. Давайте сравним их честно:
| Параметр | Davit | Orchard | Podman Desktop ext. | Docker Desktop |
|---|---|---|---|---|
| Платформа | macOS (SwiftUI) | macOS (Swift) | Кросс-платформа | Кросс-платформа |
| Движок | Apple Containers | Apple Containers | Apple Containers | Docker Engine |
| Цена | Бесплатно / MIT | Бесплатно | Бесплатно | Freemium |
| Установка без sudo | ✅ | ❌ | ❌ | ❌ |
| Встроенный shell | ✅ | ✅ | ❌ | ✅ |
| Electron/WebView | ❌ | ❌ | ✅ (Electron) | ✅ (Electron) |
| Живая статистика | ✅ | ✅ | Частично | ✅ |
| Docker Compose | ❌ | ❌ | ❌ | ✅ |
| Kubernetes | ❌ | ❌ | ✅ | ✅ |
docker-compose up или локального кластера k8s, Docker Desktop или OrbStack пока остаются более полным решением.Apple Container выглядит минималистично: в нём нет GUI, поддержки Kubernetes, Compose или swarm-режима. Это просто контейнерный рантайм. Однако эта простота — тоже сильная сторона: он лёгкий, нативный и быстрый.
Установка и быстрый старт
Системные требования
Требуется Mac на Apple Silicon под управлением macOS 15 или новее. Для работы самого Apple Container официально рекомендуется macOS 26 (Tahoe).
Шаг 1: Установка Davit
# Через Homebrew
brew install wouterdebie/tap/davit
Либо скачайте подписанный .dmg с davit.app.
Шаг 2: Установка Apple Container Platform
Если платформа ещё не установлена — Davit сделает это сам при первом запуске. Вы также можете установить вручную:
# Скачать и установить Apple container CLI
export CONTAINER_VERSION="1.0.0"
curl -LO https://github.com/apple/container/releases/download/${CONTAINER_VERSION}/container-${CONTAINER_VERSION}-installer-signed.pkg
sudo installer -pkg container-${CONTAINER_VERSION}-installer-signed.pkg -target /
# Запустить системный сервис
container system start
# Проверить статус
container system status
Шаг 3: Запуск первого контейнера
Через CLI:
# Запустить Ubuntu
container run --name my-ubuntu ubuntu:22.04
# Посмотреть список
container list
# Открыть shell
container exec -it my-ubuntu /bin/bash
Или — просто откройте Davit, нажмите «New Container», выберите образ из любого реестра и нажмите Run. Всё.
Запустите PostgreSQL для локальной разработки:
container run -d \
--name postgres-dev \
-e POSTGRES_PASSWORD=secret \
-p 5432:5432 \
postgres:15
Davit немедленно покажет контейнер в списке с живым CPU/RAM, IP-адресом и портом 5432 с кнопкой «Open in Browser».
Почему это важно: место Davit в новом контейнерном ландшафте macOS
Анонс Apple нативной поддержки контейнеризации в macOS 26 Tahoe знаменует значительный сдвиг в ландшафте контейнеризации. И Davit — наглядное свидетельство того, как быстро сообщество реагирует на появление новых нативных API.
Virtualization.framework и чипы серии M оптимизированы для эффективной виртуализации, поэтому реализация Apple нацелена на лучшее время холодного старта и эффективность ресурсов на современных Mac по сравнению с универсальными сторонними решениями.
Особенно важна архитектура Davit с точки зрения безопасности:
Подход Apple с VM на каждый контейнер обеспечивает каждому контейнеру тот же уровень изоляции, что и традиональная виртуальная машина. Эта изоляция на уровне гипервизора гарантирует, что контейнеры не могут получить доступ к адресным пространствам друг друга или вмешиваться в операции хост-системы. Архитектура устраняет уязвимости совместного использования ядра, характерные для традиционных подходов к контейнеризации.
А сам Davit добавляет к этому удобство: быстрые действия в строке меню, значок в Dock только когда нужен, и живые графики, которые не запускают браузер для отрисовки.
Davit — это не просто «ещё один GUI». Это демонстрация того, как нативные macOS-инструменты должны работать с системными API: напрямую, быстро и без накладных расходов.
Apple не предоставляет официального интерфейса, но уже существует несколько открытых графических клиентов: Orchard, Container Desktop, AppleContainerGUI и iContainer. Davit занимает среди них особое место благодаря установке без sudo и предельно нативному подходу.
Итоги
Apple Containers — это не попытка скопировать Docker, а принципиально иной подход к запуску Linux-контейнеров на Mac: каждый контейнер в своей micro-VM, sub-second boots, интеграция с macOS на уровне системы, нулевая зависимость от сторонних гипервизоров.
Davit делает всё это доступным без командной строки:
- Бесплатно и MIT-лицензия — никаких подписок
- Нативный SwiftUI — не Electron, не веб-приложение в оболочке
- XPC напрямую к демону — никаких CLI-обёрток и парсинга вывода
- Установка без sudo — сам скачает и настроит платформу
- Живые графики и логи — мониторинг в реальном времени
Если вы работаете на Apple Silicon и хотите попробовать нативные контейнеры macOS — Davit это лучший способ начать. Установите через Homebrew, откройте приложение и убедитесь, что контейнеры могут быть быстрыми, безопасными и красивыми одновременно.