Docker VMM: новый движок виртуализации в Docker Desktop
Docker объявил об открытом бета-тестировании собственного слоя виртуализации Docker VMM, который теперь лежит в основе Docker Desktop. Новый движок доступен в паблик-бете на macOS и Windows начиная с версии v4.86. Разбираемся, что изменилось и как это повлияет на разработчиков.

Docker объявил об открытом бета-тестировании Docker VMM — собственного, полностью переписанного слоя виртуализации, который отныне лежит в основе Docker Desktop. Новый движок уже доступен в публичной бете на macOS и Windows начиная с Docker Desktop v4.86. Это важное событие для всех, кто ежедневно использует Docker в работе: от индивидуальных разработчиков до крупных команд, потому что виртуализация — это фундамент, на котором работает вся экосистема контейнеров на настольных операционных системах.
Docker VMM: что это и зачем он нужен
Docker VMM — это новый гипервизор, написанный с нуля, который заменяет прежние механизмы виртуализации, использовавшиеся в Docker Desktop. Раньше на macOS Docker полагался на фреймворк Virtualization.framework от Apple, а на Windows — на Hyper-V от Microsoft. Теперь Docker создал собственный слой, который работает поверх этих системных возможностей, но предоставляет более тонкий контроль над ресурсами и производительностью. По словам представителей компании, это позволило сократить время запуска контейнеров, уменьшить потребление памяти и повысить общую стабильность работы.
Ключевое отличие Docker VMM от предыдущих решений — это полностью переписанный код, а не доработка существующих компонентов. Docker утверждает, что новый движок более эффективен, потому что он оптимизирован именно под сценарии контейнерной виртуализации, а не под универсальные задачи, для которых создавались Apple Virtualization.framework и Hyper-V. Это значит, что ресурсы выделяются более точно, а накладные расходы на виртуализацию снижаются.
Предыстория и контекст
Docker Desktop всегда был сложным продуктом с точки зрения виртуализации. На macOS он использовал легковесную виртуальную машину на базе Virtualization.framework, которая позволяла запускать Linux-контейнеры. На Windows ситуация была сложнее: долгое время требовался Hyper-V, что вызывало проблемы у пользователей с Windows Home, где эта технология недоступна. Позже Docker перешел на WSL 2, но и там были свои ограничения.
Создание собственного VMM — это логичный шаг для Docker, который стремится контролировать весь стек технологий. Это позволяет компании быстрее внедрять новые функции, не дожидаясь обновлений от Apple или Microsoft, и обеспечивать единообразное поведение на разных платформах. Кроме того, это снижает зависимость от внешних поставщиков и дает возможность оптимизировать производительность под конкретные задачи Docker.
Чем Docker VMM отличается от предыдущих решений?
Главное отличие — это уровень контроля и оптимизации. Docker VMM работает напрямую с аппаратными возможностями процессора и памяти, обходя лишние прослойки. Это приводит к более быстрому запуску контейнеров, меньшему потреблению ресурсов и более предсказуемой работе. На практике пользователи могут заметить, что Docker Desktop стал отзывчивее, а операции с контейнерами выполняются быстрее.
Еще одно важное отличие — это кросс-платформенная консистентность. Раньше поведение Docker Desktop на macOS и Windows могло отличаться из-за различий в базовых технологиях виртуализации. Теперь Docker VMM обеспечивает единый слой, что упрощает поддержку и уменьшает количество багов, связанных с платформенными особенностями.
Технические подробности и производительность
Docker VMM использует современные возможности виртуализации, такие как аппаратная поддержка вложенной виртуализации и быстрые системные вызовы. Это позволяет достичь производительности, близкой к нативной, для большинства рабочих нагрузок. В блоге Docker приводятся данные о сокращении времени холодного запуска контейнеров до 30% по сравнению с предыдущими версиями, а также о снижении потребления памяти на 15–20% в среднем.
Однако стоит отметить, что это бета-версия, и некоторые функции могут работать нестабильно. Docker рекомендует использовать Docker VMM в тестовых средах, а не в продакшене, пока не будут устранены все возможные проблемы. Разработчики также предупреждают, что некоторые расширения и плагины могут быть несовместимы с новым движком на начальном этапе.
Кого затронет и как
Новый движок виртуализации в первую очередь затронет разработчиков, которые используют Docker Desktop ежедневно. Они смогут ощутить ускорение работы и снижение нагрузки на систему, что особенно важно для тех, кто работает на ноутбуках с ограниченными ресурсами. Команды, использующие Docker в CI/CD, также выиграют от более быстрой сборки и запуска контейнеров, хотя на серверных решениях Docker VMM пока не применяется.
Для пользователей Windows Home, которые раньше сталкивались с ограничениями Hyper-V, Docker VMM может стать решением, упрощающим установку и использование Docker Desktop. Хотя в бете поддержка Windows Home пока не подтверждена, в будущем это может расширить аудиторию Docker.
Российским и СНГ-разработчикам стоит обратить внимание на Docker VMM, так как многие компании в регионе активно используют Docker в своих процессах. Улучшение производительности и стабильности может положительно сказаться на их повседневной работе, особенно в условиях ограниченных аппаратных ресурсов.
Что будет дальше
Docker планирует развивать Docker VMM, добавляя новые функции и улучшая совместимость. В ближайших версиях ожидается поддержка дополнительных операционных систем и архитектур, а также интеграция с облачными сервисами Docker. Компания также обещает регулярные обновления, основанные на обратной связи от сообщества.
Пользователям, желающим протестировать Docker VMM, достаточно установить Docker Desktop v4.86 или новее и включить опцию в настройках. Стоит помнить, что это бета-функция, поэтому возможны сбои и ошибки. Docker рекомендует сообщать о проблемах через официальные каналы, чтобы ускорить улучшение продукта.
Итог
Docker VMM — это значительный шаг вперед для Docker Desktop, который обещает улучшить производительность и стабильность работы с контейнерами. Хотя это бета-версия, уже сейчас можно оценить преимущества нового движка. Разработчикам стоит следить за развитием Docker VMM, так как в будущем он станет стандартным компонентом Docker Desktop и, возможно, повлияет на всю экосистему контейнерной виртуализации.