На этот месяц XDA доказывает, что самое умное улучшение VS Code — это не ещё одно расширение автодополнения, а dev containers. Логика безупречна. Dev container — это область папки с Linux-окружением, определённым файлом devcontainer.json, с закреплёнными версиями среды выполнения языка, системных пакетов и расширений редактора. Откройте папку в поддерживаемом редакторе, и инструментарий восстановит контейнер из этого файла, так что свежий клон сразу готов к работе без страницы ручной настройки. Мы протестировали восемь приложений для запуска dev containers на Windows, macOS и Linux, выбирая их по тому, насколько хорошо они поддерживают спецификацию devcontainer.json, и что происходит, когда ваш коллега на другой ОС открывает ту же папку.
На что обратить внимание при выборе приложения для dev containers
Не каждый инструмент контейнеризации понимает спецификацию dev containers, и те, которые понимают, работают на очень разных средах выполнения.
- Поддержка спецификации.
devcontainers/cliчитает.devcontainer/devcontainer.json, разрешает features, прокидывает порты и монтирует ваш workspace. Ищите инструменты, которые вызывают этот CLI или встраивают его, а не те, что выполняютdocker runи надеются на лучшее. - Среда выполнения. Docker Engine по-прежнему стандартный выбор. Podman — это замена, работающая без привилегий. Colima и Lima — это варианты для macOS, избегающие условий лицензии Docker Desktop.
- Kubernetes и облако. Некоторые инструменты могут запустить один и тот же
devcontainer.jsonпротив кластера K8s или удалённой VM, а не только на вашем ноутбуке. Это важно, когда машина, на которой вы держите dev containers, — это не та, которая в ваших руках. - Связь с редактором. VS Code и JetBrains Gateway оба открывают папку в dev container изначально. Cursor и Windsurf наследуют это от базиса VS Code. Пользователям Vim и Emacs нужен инструмент, ориентированный на CLI.
- Производительность на macOS и Windows. Bind mounts через границу хоста — это самая медленная часть любого контейнерного workflow. Ищите VirtioFS, гонку gRPC-FUSE или слой синхронизации файловой системы.
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатный план | Начальная цена | Выделяющаяся функция |
|---|---|---|---|---|---|
| Docker Desktop | Стандартная среда выполнения, пользователи GUI | Windows, macOS, Linux | Бесплатно для личного использования / малого бизнеса | Бизнес-тариф за место/месяц | Самое широкое покрытие инструментов |
| Podman Desktop | Замена Docker без привилегий | Windows, macOS, Linux | Бесплатно, открытый исходный код | Бесплатно | Работает без привилегий по умолчанию |
| DevPod | Один контейнер на ноутбуке, K8s или облаке | Windows, macOS, Linux | Бесплатно, открытый исходный код | Loft Pro для команд | Модель провайдеров для облачной разработки |
| OrbStack | Самый быстрый Docker на macOS | macOS | Бесплатно для личного использования | Платный тариф для коммерческого использования | VirtioFS, низкое потребление RAM |
| Rancher Desktop | Docker плюс настоящий локальный K8s | Windows, macOS, Linux | Бесплатно, открытый исходный код | Бесплатно | k3s встроен |
| Colima | Лёгкий Docker на macOS/Linux без GUI | macOS, Linux | Бесплатно, открытый исходный код | Бесплатно | Без GUI, низкие расходы |
| Distrobox | Контейнеризированные Linux-десктопы | Linux | Бесплатно, открытый исходный код | Бесплатно | Запускает GUI-приложения из контейнеров |
| GitHub Codespaces | Dev containers, размещённые в облаке | Веб, VS Code, JetBrains | Бесплатные месячные часы | За час после квоты | Один и тот же devcontainer.json в облаке |
Приложения
1. Docker Desktop — Лучше всего для стандартной среды выполнения с самой широкой экосистемой
Docker Desktop по-прежнему то, что спецификация dev containers предполагает с первого дня. Установите его, установите расширение Dev Containers в VS Code, и “Reopen in Container” работает без какой-либо настройки. Он включает Docker Engine, Kubernetes и плагин compose, и управляет Linux VM на Windows и macOS, так что вы никогда не трогаете WSL или Lima напрямую.
Где он хромает: Условия подписки кусаются для больших организаций. Всё, что больше 250 сотрудников или 10 миллионов долларов дохода, требует Business-места. Запуск и личное использование по-прежнему бесплатны, но прочитайте лицензию перед развёртыванием на парке машин.
Ценообразование:
- Бесплатно: Личное использование, образование, малый бизнес, некоммерческий открытый исходный код
- Платно: Pro, Team и Business места, выставляются за пользователя в месяц
Платформы: Windows, macOS, Linux
Скачать: docker.com/products/docker-desktop
Итоговая строка: Если вы выбираете один инструмент и двигаетесь дальше, установите Docker Desktop и прекратите чтение. Остальная часть списка для случаев, когда лицензия или потребление RAM делают это плохой идеей.
2. Podman Desktop — Лучше всего для замены без привилегий и без лицензии
Podman Desktop — это спонсируемый Red Hat GUI над Podman, и теперь он обрабатывает devcontainer.json через расширение VS Code Dev Containers, открывая Docker-совместимый сокет. Вы получаете OCI среду выполнения, которая работает без привилегий по умолчанию, никакого демона в фоне, и разрешительную лицензию Apache 2.0.
Где она хромает: Совместимость Compose близка, но не идентична Docker. Семантика монтирования томов на macOS по-прежнему отстаёт от Docker Desktop для очень больших workspaces. Отчёты об ошибках по dev containers с тяжёлыми слоями features всё ещё появляются иногда.
Ценообразование:
- Бесплатно: Полный набор функций, открытый исходный код
- Платно: Нет
Платформы: Windows, macOS, Linux
Скачать: podman-desktop.io
Итоговая строка: Podman Desktop — это прямая замена, когда лицензия Docker Desktop — проблема, и это правильный выбор, когда ваша команда уже запускает Podman на серверах.
3. DevPod — Лучше всего для одного контейнера на ноутбуке, K8s и облаке
DevPod от Loft Labs рассматривает провайдеров как подключаемые. Один и тот же devcontainer.json, который вы открываете на Docker Desktop, может запуститься на кластере Kubernetes, хосте SSH, свежем экземпляре EC2 или Loft Vcluster, с синхронизированным workspace. Он переиспользует Microsoft devcontainers/cli внутри, поэтому совместимость со спецификацией гарантирована по построению, а не переводом.
Где он хромает: Экосистема провайдеров неровная. Провайдеры AWS, GCP, Azure и K8s первой стороны хороши. Провайдеры сообщества варьируются. Настольный UI функционален, а не полирован.
Ценообразование:
- Бесплатно: Полный открытый исходный код клиента, все провайдеры
- Платно: Loft Enterprise для централизованного управления командой
Платформы: Windows, macOS, Linux, CLI
Скачать: devpod.sh
Итоговая строка: DevPod — это выбор, когда “dev container на моём ноутбуке” нужно превратить в “dev container в кластере” без переписывания файла.
4. OrbStack — Лучше всего для самого быстрого Docker на macOS
OrbStack — это замена Docker “с нуля” для Apple Silicon Macs. Холодный старт — пара секунд, простой RAM значительно ниже Docker Desktop, и VirtioFS — стандартный для bind mounts, что является одним из самых больших улучшений производительности для dev containers, которые монтируют большие монорепозитории. Он также запускает полные Linux VM наряду с контейнерами, так что вы можете упасть в shell без обёртки контейнера.
Где он хромает: Только macOS. Коммерческое использование требует платежа. Отсутствие сборок для Windows и Linux означает, что это никогда не может быть единственным инструментом для вашей команды.
Ценообразование:
- Бесплатно: Личное, некоммерческое использование
- Платно: Pro тариф для коммерческого использования, выставляется за место в месяц
Платформы: macOS
Скачать: orbstack.dev
Итоговая строка: OrbStack — это правильная первая установка на личном Mac. На рабочем Mac рассчитайте коммерческий тариф в решение.
5. Rancher Desktop — Лучше всего для настоящего локального Kubernetes плюс dev containers
Rancher Desktop от SUSE поставляется с Docker или containerd как средой выполнения и k3s как настоящим однопроцессным кластером Kubernetes. Эта комбинация необычна. Dev container расширения рассматривают это как Docker-совместимый сокет, и когда ваш workflow требует локального K8s для тестирования манифестов, Rancher Desktop покрывает обе поверхности из одной установки.
Где она хромает: Больше движущихся частей, чем простая среда выполнения контейнера. Первый запуск медленный, пока VM Linux загружается. Документация по переключению между рантаймами Docker и containerd тонкая.
Ценообразование:
- Бесплатно: Полный открытый исходный код
- Платно: SUSE Rancher для оркестровки в масштабе, не требуется для локального использования
Платформы: Windows, macOS, Linux
Скачать: rancherdesktop.io
Итоговая строка: Rancher Desktop — это выбор, когда ваш рабочий день колеблется между “reopen in container” и kubectl apply.
6. Colima — Лучше всего для лёгкого, без GUI Docker на macOS или Linux
Colima — это тонкий CLI над Lima, который загружает VM Linux с Docker или containerd внутри. Нет значка в трее, нет запросов на обновление, нет лицензии. Вы запускаете colima start, указываете Docker CLI на его сокет, и расширение Dev Containers в VS Code открывает папки в контейнерах без заметной разницы от Docker Desktop.
Где она хромает: Нет GUI. Поддержка Kubernetes существует, но это лучшее усилие. Производительность обмена томами приемлема, не самая быстрая в списке.
Ценообразование:
- Бесплатно: Полностью открытый исходный код
- Платно: Нет
Платформы: macOS, Linux
Скачать: github.com/abiosoft/colima
Итоговая строка: Colima — это замена, ориентированная на терминал, для Docker Desktop на Mac. Выберите это, если вы уже живёте в shell.
7. Distrobox — Лучше всего для контейнеризированных Linux-десктопов
Distrobox оборачивает Podman или Docker для запуска полных Linux-дистрибутивов как тесно интегрированные контейнеры. Это не строгой спецификации runner dev containers, но он решает ту же проблему с другой стороны: среда Debian, Fedora или Arch на уровне проекта на любом хосте Linux, с доступом к вашей домашней папке и GPU. Соедините это с devcontainers/cli и у вас есть как управляемые спецификацией, так и свободные среды на уровне проекта.
Где он хромает: Только Linux. Не drop-in замена для devcontainer.json сама по себе, так что дополняет, а не заменяет другие выборы.
Ценообразование:
- Бесплатно: Полностью открытый исходный код
- Платно: Нет
Платформы: Linux
Скачать: distrobox.it
Итоговая строка: Distrobox — это ответ на неизменяемых Linux-дистрибутивах, таких как Silverblue и Bazzite, где системные пакеты заблокированы, и контейнеры на уровне проекта становятся стандартным workflow.
8. GitHub Codespaces — Лучше всего для одного dev container в облаке
GitHub Codespaces берёт devcontainer.json вашего репо и запускает размещённую VM, которая открывается в браузере, VS Code или JetBrains Gateway. Переключение с локального dev container на Codespace — это движение одного клика, потому что файл уже там. Преимущество в том, что ноутбук на 16 GB может управлять Codespace на 32 GB, и новый нанятый персонал кодирует менее чем за две минуты.
Где она хромает: Исходящий трафик и стоимость вычисления после исчерпания бесплатных часов. Задержка для нажатий клавиш хороша на прочном соединении и болезненна на Wi-Fi в отеле. Некоторые сети блокируют протокол туннелирования.
Ценообразование:
- Бесплатно: Месячные часы ядра для личных аккаунтов на GitHub Free
- Платно: Выставление за час сверх квоты, плюс хранилище за GB в месяц
Платформы: Веб, VS Code, JetBrains Gateway
Скачать: github.com/features/codespaces
Итоговая строка: Codespaces — это страховка, когда ноутбук — это не машина для запуска контейнера. Один файл, разный хост.
Как выбрать правильный
- Если вы хотите самую простую установку и в порядке с лицензией: Docker Desktop. Это стандарт, который предполагает спецификация.
- Если условия Docker Desktop — проблема или вы хотите без привилегий: Podman Desktop.
- Если вы на Apple Silicon и стоимость — не ограничение: OrbStack для личного, Podman Desktop для рабочего ноутбука с опасениями лицензии.
- Если ваша команда запускает всё на Kubernetes: Rancher Desktop или DevPod, указанный на ваш кластер.
- Если вы проводите день в терминале: Colima.
- Если вы на Silverblue, Bazzite или другом неизменяемом Linux: Distrobox плюс dev containers CLI.
- Если вы сжигаете оборудование, которое не может угнаться: GitHub Codespaces.
Часто задаваемые вопросы
Что такое dev container? Среда разработки, ограниченная папкой, определённая файлом .devcontainer/devcontainer.json, которая закрепляет среду выполнения, системные пакеты и расширения редактора. Откройте папку в поддерживаемом редакторе, и инструмент восстановит контейнер из этого файла.
Нужен ли мне Docker Desktop для использования dev containers? Нет. Dev containers CLI работает с любым Docker-совместимым сокетом. Podman, Colima, Rancher Desktop и OrbStack все открывают один.
Могу ли я использовать dev containers без VS Code? Да. devcontainers/cli читает один и тот же файл и открывает shell в контейнере. JetBrains Gateway также поддерживает спецификацию.
Есть ли стоимость лицензии для самих dev containers? Нет. Спецификация и справочный CLI — открытый исходный код под лицензией MIT. Стоимость исходит от среды выполнения и любого размещённого исполнения.
Как dev container сравнивается с виртуальной окружением? Venv или папка node_modules закрепляет экосистему языка. Dev container закрепляет и операционную систему, что исправляет “работает на моей машине” баг для коллег.
Могут ли dev containers использовать GPU? Да, на хостах Linux и на Windows с WSL2 и передачей CUDA. Добавьте соответствующие features и блок hostRequirements в devcontainer.json и откройте устройство GPU контейнеру.