Apple Container 1.0: новий інструмент для macOS

Apple випустила Container 1.0: новий інструмент для macOS

Через рік після презентування відкритого контейнерного інструменту Apple, який є альтернативою для запуску Linux-контейнерів на macOS, проект досяг першої великої стабільної версії з випуском 1.0.

Що таке Apple Container?

Для тих, хто пропустив первісне оголошення, контейнер Apple є командним рядком для створення, запуску, побудови та публікації Linux-контейнерів, сумісних з OCI, безпосередньо з macOS.

Оскільки macOS не запускає Linux-контейнери нативно, як Linux-хост, підхід Apple базується на легких віртуальних машинах Linux, де кожен контейнер має своє ізольоване середовище.

Переваги контейнерних машин

На відміну від звичайних контейнерів, які зазвичай моделюються навколо окремого додатку чи процесу, контейнерна машина створена як постійне Linux-середовище. За словами Apple, вона забезпечує інтегроване Linux-середовище, яке працює безперешкодно на Mac, базуючись на стандартних зображеннях OCI.

Це важливо, адже користувачі можуть створювати довговічні Linux-середовища, які зберігаються між сесіями, керують ініціальною системою та підтримують тривалі сервіси.

Інтеграція з macOS

Щодо інтеграції з хостом, контейнерна машина автоматично відображає ім’я користувача macOS та домашній каталог у Linux-середовище, роблячи сховища та конфігураційні файли доступними з обох боків. Це дає можливість розробникам редагувати код, використовуючи засоби macOS, такі як улюблені IDE чи редактори, під час роботи над одним і тим же проектом в Linux.

Ще однією корисною функцією є підтримка реальних Linux-сервісів, що робить контейнерну машину придатною для тестування додатків у тлі фонових сервісів у середовищі Linux.

Керування середовищами

Доступ до цих середовищ здійснюється через нову команду container machine. Користувачі можуть створювати машини, відкривати інтерактивні оболонки, виконувати одноразові команди, встановлювати за замовчуванням, перераховувати та перевіряти середовища, зупиняти та видаляти їх, а також змінювати налаштування, такі як виділення CPU та пам’яті. Монтування домашнього каталогу можна налаштувати як читати-записувати, тільки для читання чи вимкнути.

Для просунутих користувачів контейнерна машина підтримує вкладену віртуалізацію за важливими вимогами. Для цього необхідно мати Mac з Apple Silicon M3 або новіший і macOS 15 або пізніше, а також Linux-ядро, зібране із підтримкою KVM. Apple зазначає, що за замовчуванням це ядро не підтримує цю функцію, тому користувачам, яким потрібна вкладена віртуалізація, слід надати відповідне власне ядро.

Що з Docker?

Звісно, це не означає, що Docker Desktop раптом став непотрібним на macOS. Docker все ще має широку екосистему, робочі потоки Compose, GUI-засоби, інтеграції та впливає на думку розробників. Для багатьох користувачів, особливо тих, хто вже користується робочими процесами на основі Docker, інструмент Apple не буде повноцінною заміною.

Apple Container 1.0 вже доступний на GitHub-репозиторії проекту. Документацію можна знайти тут.