Альтернативы Docker Desktop
После того как Docker Inc сделала Docker Desktop платным для крупных компаний и параллельно подросло несколько технических решений лучше — на рынке появилось четыре-пять серьёзных альтернатив. Все они OCI-совместимы. Все они умеют запускать docker run nginx. Различаются они по скорости, ресурсам, лицензии, и какие дополнительные фичи дают.
В этом уроке коротко по каждой, и в конце — конкретная рекомендация для Junior DE по ОС.
Большая четвёрка
OrbStack (mac only)
OrbStack — это самый молодой и самый «маковый» из всех. Версия 1.0 вышла в 2023, активно развивается. Запускается через brew install orbstack.
Что делает OrbStack отличным на mac:
- Старт за секунды. Docker Desktop поднимается 30+ секунд. OrbStack — 2-3 секунды.
- Память. В idle OrbStack ест около 70 МБ RAM. Docker Desktop — 500-800 МБ.
- Bind mount. Использует virtiofs, и реализация быстрее, чем в Docker Desktop. На node_modules / Python venv разница заметная.
- Совместимость. Docker CLI и Compose работают как есть, без
alias. - k8s. Встроенный Kubernetes в одну кнопку, без отдельных установок.
- Cross-arch. Запускает amd64 на M-серии через Rosetta или qemu, и наоборот.
- Linux machines. Бонус: умеет запускать lightweight Linux VM с CLI-доступом — это удобно для DE, когда хочется «настоящего Linux» без сложного Vagrant.
Что важно про лицензию:
- Personal use — бесплатно, без ограничений.
- Коммерческое использование в компаниях с >10 в месяц на user.
То есть рамки те же, что у Docker Desktop, но цена ниже и продукт быстрее.
Когда брать: ты на mac, тебе нужен Docker для DE-задач (Postgres локально, разработка DAG’ов), и ты можешь работать в company с personal-лицензией или твоя компания готова заплатить за лицензию.
Rancher Desktop (cross-platform)
Rancher Desktop — это open source проект от SUSE / Rancher Labs. Полная лицензия Apache 2.0. Бесплатно для всех, включая коммерческое использование.
Что внутри:
- Cross-platform: macOS, Linux, Windows.
- Использует lima (на mac) или WSL2 (на Windows) или нативно (на Linux) для запуска контейнеров.
- В пакете встроенный k3s — лёгкий Kubernetes от того же Rancher. Удобно для людей, которые хотят пробовать k8s локально без отдельной установки.
- CLI совместим с Docker —
dockerкоманда работает. - На выбор два backend: moby (Docker Engine) или containerd с nerdctl. Можно переключать.
Скорость и память — между Docker Desktop и OrbStack. Не такой быстрый, как OrbStack на mac, но быстрее, чем Docker Desktop.
Когда брать: тебе нужен полностью open source стек без лицензионных вопросов, или ты хочешь k8s локально из коробки, или тебе нужен cross-platform (mac/Linux/Win).
Podman Desktop (cross-platform)
UID/GID и rootless-контейнеры: почему это важноPodman — это проект Red Hat, который начался как «Docker без daemon’а». Главная фишка — daemonless и rootless по умолчанию:
- Daemonless: нет фонового процесса. Команда
podman runзапускает контейнер прямо из CLI. Меньше attack surface, нет одной точки отказа. - Rootless: контейнеры запускаются от обычного пользователя, не root. Это сильно повышает security: container escape становится не «escape в root хоста», а «escape в обычного пользователя».
CLI совместим с Docker: alias docker=podman, и большинство команд работают идентично. Compose также есть в виде podman-compose.
Podman Desktop — это GUI-приложение поверх podman, аналог Docker Desktop. Cross-platform.
Особенности:
- На Linux работает нативно, без VM.
- На mac/Win использует QEMU+VM. Стартует медленнее, чем OrbStack.
- Pod (как в k8s) — нативная концепция. Можно группировать контейнеры в pod без compose.
Когда брать: ты на Linux и хочешь rootless из коробки, или тебе нужен максимально open source стек, или ты работаешь в Red Hat-экосистеме (OpenShift и т.п.).
Colima (mac/Linux, CLI only)
Colima — минималистичный wrapper над lima (Linux on Mac). Никакого GUI, только CLI. Поднимает Linux VM, ставит в неё Docker или containerd, проксирует CLI на хост.
Установка:
brew install colima docker
colima start
docker run hello-world
Преимущества:
- Лёгкий. Никакого GUI, никакого telemetry, никаких updates с background-задачами.
- Бесплатный для всех.
- Хорошо настраивается. Через CLI флаги указываешь ресурсы VM, runtime, и т.д.
Минусы:
- CLI-only. Если ты любишь GUI — не подойдёт.
- На M-серии mac иногда требует ручной настройки для amd64-образов (флаг
--arch x86_64).
Когда брать: ты опытный пользователь Linux/CLI, тебе не нужен GUI, ты хочешь минимизировать background-нагрузку на mac.
Сравнительная таблица
| Параметр | Docker Desktop | OrbStack | Rancher Desktop | Podman Desktop | Colima |
|---|---|---|---|---|---|
| Платформы | mac/Win | mac | mac/Linux/Win | mac/Linux/Win | mac/Linux |
| Лицензия | Subscription для крупных | Subscription для крупных | Apache 2.0 | Apache 2.0 | Apache 2.0 |
| Бесплатно для personal | Да | Да | Да | Да | Да |
| Cost для коммерции (>250 emp) | ~$5-21/мес | ~$10/мес | Бесплатно | Бесплатно | Бесплатно |
| Старт на mac (M-серия) | 30+ сек | 2-3 сек | 10-15 сек | 15-25 сек | 10-15 сек |
| Память idle | 500-800 MB | 70-150 MB | 200-400 MB | 200-400 MB | 150-300 MB |
| Bind mount perf на mac | Средне (virtiofs) | Отлично (virtiofs+) | Средне | Средне (QEMU) | Хорошо (virtiofs) |
| Встроенный k8s | Опционально | Опционально | k3s (default) | Через kind | Опционально |
| Rootless | Нет | Нет | Опционально | Да (default) | Опционально |
| GUI | Да | Да | Да | Да | Нет |
Что брать Junior DE
Конкретно для будущего Junior DE на mac я бы рекомендовал OrbStack. Причины:
- Быстрый старт (важно, когда нужно «открыл ноут — есть Postgres за 5 секунд»).
- Маленький overhead памяти (16 ГБ маков не безлимитны, особенно если параллельно Chrome + IDE + Slack).
- Хорошая virtiofs реализация (важно, если ты много работаешь с Python venv и bind mount-ишь его в контейнер).
- Free for personal use.
Если ты строго хочешь open source — Rancher Desktop.
Если ты на Linux — Docker Engine из репозиториев, без вариантов. VM на Linux — это overhead, который не нужен.
Совместимость: один и тот же Dockerfile везде
Важный момент: всё, что мы будем учить в курсе, работает идентично во всех этих runtime’ах. Образ, собранный через docker build в OrbStack, запустится одинаково в Docker Engine на Linux, Podman, и Rancher Desktop. Это сила OCI стандарта.
То же про Compose: compose.yaml работает везде. Только у Podman это podman-compose, синтаксис тот же.
Поэтому выбор runtime — это про скорость и удобство твоей dev-машины, а не про функциональность.
Попробуй сам
Если у тебя на mac установлен OrbStack или Docker Desktop:
docker version
docker info | grep -i 'name\|operating system\|server version'
Это покажет, какой runtime активен.
Если хочешь поэкспериментировать — установи OrbStack рядом с Docker Desktop (они умеют сосуществовать):
brew install orbstack
После установки запусти OrbStack, и проверь:
docker context ls
Ты увидишь несколько контекстов, и сможешь переключаться между ними:
docker context use orbstack
docker context use desktop-linux
Это позволяет работать с обоими runtime’ами с одного CLI.