Docker Desktop на Mac работает, но каждая сборка напоминает о том, что программа написана на Electron и крутит полноценную виртуальную машину. Тридцать секунд до запуска, два гигабайта в простое, вентиляторы на максимум.

OrbStack решает ту же задачу — запуск контейнеров на macOS — но написан на Swift и оптимизирован под Apple Silicon. Запуск за две секунды, меньше 0.1% CPU в простое, меньше 10 МБ на диске.

Что это

OrbStack — нативное приложение для macOS, которое запускает Docker-контейнеры, полноценные Linux-машины и Kubernetes-кластеры. Разработка Orbital Labs из Сан-Франциско. Закрытый код, но часть компонентов открыта.

Docker Desktop (официальный клиент Docker для macOS и Windows) работает через Electron — фреймворк, который оборачивает веб-страницу в десктопное приложение. Под капотом крутится виртуальная машина на базе QEMU. Это тяжёлая архитектура: VM загружается 30-60 секунд, потребляет 2-4 ГБ памяти даже без контейнеров и держит CPU под нагрузкой.

OrbStack построен иначе. Нативное Swift-приложение (язык программирования от Apple для macOS и iOS) использует легковесную виртуализацию вместо полноразмерной VM и интегрируется с macOS на уровне файловой системы и сети. Результат — запуск за 2 секунды и практически нулевое потребление в простое.

Поддерживает Apple Silicon (M1/M2/M3/M4) и Intel Mac. С версии 1.0 доступен и на Linux — сборки для Ubuntu, Debian и Fedora. Главная аудитория, тем не менее, пользователи macOS.

Зачем нужно

Контейнеризация (упаковка приложения со всеми зависимостями в изолированную среду) — стандарт в разработке. Docker-контейнеры позволяют запускать один и тот же код на ноутбуке разработчика и на production-сервере без рассинхрона окружения.

На macOS контейнеры не работают напрямую: ядро macOS не поддерживает cgroups и namespace — механизмы Linux, на которых построен Docker. Любой инструмент для запуска контейнеров на Mac обязан поднять скрытую Linux-виртуальную машину. Вопрос только в том, насколько эффективно эта VM устроена.

Docker Desktop решает задачу, но платит ресурсами. OrbStack решает ту же задачу с другим соотношением цена/качество:

  • Запуск за 2 секунды вместо 30-60
  • Меньше 0.1% CPU в простое на Apple Silicon
  • Память выделяется по требованию, не резервируется заранее
  • Менее 10 МБ на диске в базовой установке
  • Нативное Swift-приложение вместо Electron
  • Бесплатно для личного использования, $8/мес для коммерческого

Инсайт: разница в архитектуре не косметическая. Docker Desktop резервирует память и CPU для VM заранее — OrbStack выделяет ресурсы по требованию и возвращает их системе, когда контейнеры не работают. На ноутбуке это означает, что батарея не разряжается, а вентиляторы не включаются от простого запуска docker compose.

Как устроено

OrbStack объединяет три runtime-слоя (среды выполнения) в одном приложении. Каждый слой можно использовать независимо или вместе.

Docker Engine

Docker Engine — движок, который непосредственно запускает и управляет контейнерами. OrbStack подменяет движок под капотом, но сохраняет полную совместимость с CLI, Compose, Buildx и всей экосистемой Docker. Команды docker ps, docker compose up и существующие Dockerfile работают без изменений.

Совместимость означает, что сторонние инструменты — Earthly, VS Code Dev Containers, любые плагины для Docker CLI — продолжают работать. OrbStack использует немодифицированный Docker engine с настройками, аналогичными Docker Desktop. Переключение прозрачно: создаётся символическая ссылка на /var/run/docker.sock, и инструменты не замечают разницы.

Linux-машины

Помимо контейнеров, OrbStack запускает полноценные Linux-виртуальные машины одной командой. Поддерживается 16 дистрибутивов: Ubuntu, Debian, Fedora, Arch, Alpine, Kali, Rocky и другие. Машина стартует за секунду, файловая система и сеть разделяются с хостом (компьютером macOS) автоматически.

# Создать Ubuntu-машину
orb create ubuntu my-dev

# Зайти в неё
orb -m my-dev

# Подключиться по SSH
ssh my-dev@orb

# Выполнить команду без входа
orb -m my-dev -- apt update

# Список всех машин
orb list

# Остановить / удалить
orb stop my-dev
orb delete my-dev

Файлы Mac доступны внутри Linux-машины без настройки томов (volumes — механизм Docker для обмена файлами между хостом и контейнером). VirtioFS — виртуальная файловая система, разработанная для виртуальных машин — обеспечивает доступ к /Users/… на скорости, в разы превышающей Docker Desktop. SSH-агент (программа для аутентификации по ключам) пробрасывается автоматически: приватные репозитории можно клонировать сразу, без копирования ключей.

Intel-машины на Apple Silicon работают через Rosetta 2 (транслятор x86-инструкций в ARM, встроенный в macOS). Это позволяет запускать x86-образы на M-чипах почти с нативной скоростью.

Kubernetes

Kubernetes (k8s) — система оркестрации контейнеров для production. OrbStack включает встроенный k8s-кластер, который включается в настройках. Без minikube (локальный Kubernetes для разработки), без kind (Kubernetes-in-Docker), без дополнительных установок.

# Включить кластер
orb start k8s

# Стандартный kubectl
kubectl get nodes

# NAME       STATUS   ROLES         AGE   VERSION
# orbstack   Ready    control-plane 1m    v1.30.x

kubectl apply -f deployment.yaml
kubectl get pods

Кластер поддерживает NodePort (проброс порта на хост), ClusterIP (внутренний адрес сервиса) и LoadBalancer (распределение нагрузки) — три типа доступа к сервисам в Kubernetes. Для LoadBalancer OrbStack автоматически создаёт wildcard-домены (шаблонные адреса вида .orb.local), что упрощает тестирование Ingress-контроллеров.

Ключевые возможности

Несколько деталей, которые отличают OrbStack от Docker Desktop на уровне повседневной работы:

  • Автоматические домены — каждый контейнер получает адрес вида container-name.orb.local. Открывается в браузере без проброса портов через -p. Для HTTPS-сертификатов доступна автоматическая генерация.
  • Доступ к файлам образов и томов — содержимое Docker volumes и образов доступно в Finder и через терминал на Mac. Не нужно монтировать тома или использовать docker cp для просмотра файлов.
  • GUI для логов и метрик — встроенный интерфейс показывает логи, CPU, память и сеть по каждому контейнеру в реальном времени. Управление доступно из строки меню macOS.
  • VPN и Tailscale — WireGuard, Tailscale и другие VPN работают внутри контейнеров без дополнительной настройки. DNS и IPv6 поддерживаются нативно.
  • USB passthrough — USB-устройства можно пробросить в контейнер или Linux-машину. Поддерживается и звук — аудио работает в обе стороны.
  • Изолированные машины — sandbox-режим для запуска недоверенного кода. Машина изолирована от хоста: нет доступа к файлам, сети и устройствам.
  • eBPF — поддерживается eBPF (механизм запуска программ в ядре Linux для трассировки и фильтрации). ICMP-пинг и traceroute работают из контейнеров.

Совет: после установки OrbStack сам предложит мигрировать контейнеры и тома из Docker Desktop одной кнопкой. Образы и сети переезжают, имена сохраняются. Откат обратно к Docker Desktop работает так же просто.

Когда использовать

Установка

Два варианта: Homebrew (пакетный менеджер для macOS) или скачивание с официального сайта.

# Вариант 1: Homebrew (рекомендуется)
brew install --cask orbstack

# Вариант 2: скачать с orbstack.dev
# Скачать → перетащить в Applications → запустить

После первого запуска OrbStack предложит включить Docker CLI, мигрировать данные из Docker Desktop и установить команды orb, docker, kubectl. Для установки CLI-инструментов и создания символической ссылки на /var/run/docker.sock потребуется права администратора — но это необязательно, от администраторских прав можно отказаться.

Разработка на Docker Compose

Docker Compose — инструмент для описания multi-container приложений в одном YAML-файле. Клонируете проект, запускаете docker compose up — всё работает как на любом Docker-совместимом окружении. Разница в скорости: сборка образов на Apple Silicon идёт заметно быстрее за счёт нативной виртуализации.

Тест self-hosted сервисов

Нужно проверить Directus (headless CMS), Strapi, Supabase, n8n или PostgreSQL на Mac перед деплоем на сервер — OrbStack подходит. Стек поднимается за минуту, тестируется, сносится одной командой.

docker compose up -d directus
# открыть http://directus.orb.local

Автоматические домены означают, что не нужно прописывать порты в docker-compose.yml или открывать каждый сервис вручную. Каждый контейнер получает свой .orb.local-адрес.

Полноценная Linux-среда

Собрать проект под Linux, проверить bash-скрипты для деплоя, поработать с systemd (система управления службами в Linux) — создаёте Ubuntu-машину и работаете как на удалённом сервере, но локально и мгновенно. VS Code подключается по SSH с пробросом агента — редактор работает на Mac, файлы и терминал — внутри Linux.

Локальный Kubernetes

Изучаете Kubernetes или тестируете Helm-чарты (пакеты для Kubernetes) — включаете встроенный кластер, накатываете манифесты, смотрите результат. Без minikube и настройки окружения.

Лицензия и цены

OrbStack — платный продукт. После выхода из бета-тестирования бесплатная версия осталась только для личного использования.

ПланЦенаУсловия
Personal$0Личные проекты, учёба, опенсорс. Без урезанного функционала.
Pro$8/мес ($96/год)Коммерческое использование, Debug Shell, приоритетная поддержка.
EnterpriseПо запросуSAML SSO, оплата по счёту, централизованное управление.

Политика лицензирования:

  • Личное использование — бесплатно навсегда
  • Коммерческое использование — $8 с пользователя в месяц
  • Образование — бесплатные лицензии по запросу
  • Некоммерческий опенсорс — бесплатные лицензии по запросу
  • Коммерческий опенсорс — требуется лицензия Pro
  • 30 дней испытательного срока перед обязательной покупкой

Подписка, а не разовая покупка. Разработчики объясняют это так: компоненты OrbStack требуют постоянных обновлений — совместимость с новыми версиями macOS, ядром Linux, новыми функциями Docker. Разовые платежи не покрывают эти расходы, а модель major-version upgrades заставляет задерживать релиз фич ради одного большого обновления.

Ограничения

Ограничения

Что учитывать

Перед переходом на OrbStack нужно понимать границы продукта.

Windows — Поддержки нет и не планируется.

Ядро OrbStack завязано на macOS и Linux. Для Windows — Docker Desktop или WSL2.

GPU в контейнерах — Поддержка ограничена.

Для ML-задач с CUDA (платформа параллельных вычислений NVIDIA) лучше использовать удалённые серверы с GPU.

Docker Extensions — Расширения Docker Desktop (плагины для GUI) не поддерживаются.

Если в компании используется специфичный плагин Desktop — возможны нюансы совместимости.

Docker Scout

— Инструмент анализа безопасности образов от Docker недоступен в OrbStack.

Закрытый код — OrbStack — проприетарный продукт.

Часть компонентов открыта, но ядро закрыто. Это может быть барьером для команд с политикой open-source only.

Ограничение реестра — Docker Desktop позволяет ограничить доступ к реестрам образов на уровне приложения.

В OrbStack такой политики нет.

Антипаттерны

Антипаттерны

Чего не делать

Несколько сценариев, в которых OrbStack — не лучший выбор или требует осторожности.

Не использовать как production-runtime — OrbStack — инструмент для разработки и тестирования на рабочей станции.

Не запускайте на нём production-нагрузку. Для production — Kubernetes-кластер или облачный Docker.

Не рассчитывать на GPU — Если контейнерам нужен CUDA или Metal (графический API Apple) — OrbStack не подходит.

ML-тренировки и инференс требуют серверного GPU.

Не игнорировать лицензию — 30-дневный испытательный срок заканчивается.

Коммерческое использование без лицензии — нарушение условий. Проверьте, подпадает ли ваша работа под personal или нужна Pro.

Не ждать полной совместимости с Docker Desktop — OrbStack — drop-in замена для Docker engine, но не для Docker Desktop GUI.

Extensions, Scout и некоторые корпоративные функции отсутствуют.

Чеклист

Чеклист

Проверка перед запуском

Что проверить перед переходом с Docker Desktop на OrbStack.

Архитектура — OrbStack работает на macOS (Apple Silicon и Intel) и Linux (Ubuntu, Debian, Fedora).

Windows не поддерживается.

Docker CLI — После установки проверьте: docker ps работает, docker compose up запускается.

Символическая ссылка /var/run/docker.sock создана.

Миграция — Если переходите с Docker Desktop — используйте встроенную миграцию.

Образы, тома и сети переедут автоматически.

Лицензия — Определите тип использования: личное (бесплатно) или коммерческое ($8/мес).

Некоммерческий опенсорс и образование — по запросу.

VPN и сеть — Если используете Tailscale, WireGuard или корпоративный VPN — проверьте, что они работают внутри контейнеров.

OrbStack поддерживает их без настройки, но стоит убедиться.

Kubernetes — Если нужен k8s — включите в настройках.

Проверьте kubectl get nodes и kubectl apply -f с тестовым манифестом.

Изолированные машины — Если запускаете недоверенный код — используйте isolated machines, а не обычные контейнеры.

Изоляция отключает доступ к файлам, сети и устройствам хоста.

Ссылки

Ссылки