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, чтобы уменьшить поверхность атаки и улучшить производительность.

ℹ Важная веха
Apple Container достиг стабильной версии 1.0.0 в июне 2026 года — ровно через год после анонса на WWDC 2025. CLI и XPC API теперь заморожены, совместимость гарантирована внутри патч-версий (1.0.x).

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-инструментов. Давайте сравним их честно:

ПараметрDavitOrchardPodman Desktop ext.Docker Desktop
ПлатформаmacOS (SwiftUI)macOS (Swift)Кросс-платформаКросс-платформа
ДвижокApple ContainersApple ContainersApple ContainersDocker Engine
ЦенаБесплатно / MITБесплатноБесплатноFreemium
Установка без sudo
Встроенный shell
Electron/WebView✅ (Electron)✅ (Electron)
Живая статистикаЧастично
Docker Compose
Kubernetes
⚠ Ограничения
Apple Containers (и соответственно Davit) пока не поддерживает 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, откройте приложение и убедитесь, что контейнеры могут быть быстрыми, безопасными и красивыми одновременно.