Apple выпустила container: запускаем Linux-контейнеры как легковесные ВМ на Mac с M-чипом
Apple выпустила container — open-source CLI-инструмент на Swift для работы с Linux-контейнерами на Mac под управлением macOS 26 (с ограничениями на macOS 15). В отличие от традиционных решений, где все контейнеры крутятся в одной разделяемой ВМ, container запускает для каждого контейнера отдельную легковесную виртуальную машину. Это даёт изоляцию на уровне полноценной ВМ, но с минимальным расходом памяти и быстрым запуском.
Инструмент полностью совместим с OCI-образами: можно пуллить образы из Docker Hub или GitHub Container Registry и пушить собственные сборки в любой стандартный registry. В основе лежит пакет Containerization Swift, который берёт на себя низкоуровневую работу с контейнерами, образами и процессами. container использует фреймворки Virtualization и vmnet для управления ВМ и сетью, XPC для межпроцессного взаимодействия, launchd для сервисов и Keychain для хранения учётных данных.
Архитектура container включает несколько компонентов: launch-агент container-apiserver, XPC-хелпер container-core-images для управления образами и локальным хранилищем, container-network-vmnet для виртуальной сети и container-runtime-linux — для каждого запущенного контейнера. Система поддерживает только Apple Silicon (Intel не поддерживается), лицензируется под Apache 2.0 и доступна на GitHub.
Этот подход решает проблему «всегда включённой» фоновой ВМ, которая потребляет ресурсы даже при отсутствии активных контейнеров. Apple утверждает, что idle-память стремится к нулю, а загрузка и выгрузка контейнеров происходит почти мгновенно. container — не замена Docker Desktop, а альтернатива для тех, кому нужна максимальная изоляция и безопасность нативными средствами macOS.