Apple випустила інструменти для запуску Linux-контейнерів у macOS
Компанія Apple представила нові інструменти для створення, завантаження та запуску Linux-контейнерів у macOS. Робота контейнерів у macOS забезпечується за допомогою полегшених віртуальних машин з ядром Linux, які запускаються за допомогою гіпервізора Virtualization.framework. Для роботи з Linux-контейнерами Apple пропонує використовувати два пакети: containerization і container. Обидва написані на Swift і мають безкоштовну ліцензію Apache 2.0.
Пакет containerization надає низькорівневий API для керування образами контейнерів у форматі OCI, завантаження контейнерів із зовнішніх репозиторіїв, створення кореневої файлової системи Ext4, забезпечення мережевої взаємодії, збирання варіантів ядра Linux, що швидко завантажуються, створення віртуальних машин і запуску в них окремих контейнерів. Контейнери можна зв’язувати з окремими IP-адресами. Для роботи віртуального мережевого стека, прив’язаного до кожного контейнера, задіяний фреймворк vmnet.
Завдяки застосуванню оптимізованої конфігурації ядра Linux і урізаного системного оточення з init-процесом vminitd на запуск віртуальної машини витрачається менше секунди. API дозволяє налаштовувати параметри робочого оточення та запускати поверх віртуальної машини контейнери з обраним змістом або окремими ізольованими процесами.
Пакет сontainer є надбудовою над API Containerization, що реалізує високорівневий інструментарій в стилі Docker для створення, завантаження, запуску та зупинки образів Linux-контейнерів у форматі OCI. Управління сервісами під час запуску контейнерів здійснюється за допомогою системного менеджера Launchd.
Інструментарій може використовуватися в macOS 15, але для повноцінної роботи та виключення проблем рекомендується використовувати версію macOS 26 Beta 1. Наприклад, у macOS 15 не працює пряма мережева взаємодія між контейнерами і обмежена прив’язка окремих IP до контейнерів. Можлива робота на ARM-системах Apple Silicon Mac (M1/M2/M3/M4), комп’ютери на базі процесорів Intel не підтримуються. Для запуску контейнерів, зібраних для архітектури x86_64, використовується транслятор процесорних інструкцій Rosetta 2.
Застосування інструментів на базі штучного інтелекту підвищує продуктивність, але знижує розуміння кодової бази та перешкоджає…
Компанія OpenAI може відмовитися від ChatGPT Agent — інструменту, який випустили лише шість місяців тому.…
У дослідженні, яке спільно провели компанії з кібербезпеки SentinelOne та Censys, стверджується, що LLM-моделі з…
Ще кілька років тому дистанційне навчання сприймали як вимушений компроміс. Батьки чекали, коли світ повернеться…
Експериментальний генератор інтерактивних ігрових світів Project Genie від Google, який створює 3D-середовища з текстових або…
Платформи Steam та Windows лідирують в геймдеві, оскільки підтримка консолей, здається, більше не є пріоритетом…