Apple анонсировала инструменты для запуска Linux-контейнеров в macOS с использованием виртуальных машин на базе собственного фреймворка Virtualization.framework. Контейнеры запускаются в изолированной среде с ядром Linux и легковесной init-системой, что обеспечивает время старта менее одной секунды.
В состав решения входят два Swift-пакета с открытым исходным кодом под лицензией Apache 2.0:
-
Containerization — низкоуровневый API для работы с OCI-совместимыми образами, загрузки их из внешних репозиториев, создания файловой системы Ext4, настройки виртуальных сетей через vmnet, сборки минималистичных ядер Linux и запуска виртуальных машин с контейнерами. API взаимодействует с гостевой системой через gRPC over vsock.
-
Container — высокоуровневая надстройка, предоставляющая интерфейс в стиле Docker для управления жизненным циклом контейнеров (создание, запуск, остановка). Интеграция с launchd обеспечивает системное управление службами.
Поддержка контейнеров реализована в macOS 15, но рекомендована для использования в macOS 15.6 Beta 1. Только в этой версии полностью функционирует сетевая изоляция, включая привязку IP к отдельным контейнерам. Инструментарий совместим с Apple Silicon (M1–M4); поддержка Intel-архитектуры отсутствует. Для запуска x86_64-контейнеров используется Rosetta 2.
>>> Подробности