Рубріки: Новини

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.

 

Останні статті

В Україні порахували, скільки IT-фахівців мають бронювання від мобілізації

Незважаючи на те, що IT-компанії, які визнано критично важливими, та ті, що входять до спеціального…

13.06.2025

Google вперше приховала код Pixel. Відкрите майбутнє Android під питанням

Google приховала вихідний код, пов'язаний з підтримкою пристроїв Pixel на платформі Android. У день релізу…

13.06.2025

Кабмін прийняв постанову з вимогами до цифрових гаманців в Україні

Кабінет Міністрів України ухвалив постанову, яка регламентує правила використання цифрових гаманців з електронною ідентифікацією за…

13.06.2025

Новий Copilot Vision тепер може «бачити» програми у Windows

Microsoft оновила розширення для віртуального помічника Copilot. Активація функції Vision дозволить Copilot навчатися виконанню дій…

13.06.2025

Рівень безробіття в американській ІТ-галузі зростає п’ятий місяць поспіль

Рівень безробіття серед ІТ-фахівців у США зріс до 5,5% у травні, збільшившись на 0,9% із…

13.06.2025

Tesla судиться з колишнім співробітником, який після звільнення «забрав код» із собою

Компанія Tesla подала до суду на колишнього розробника, відповідального за секретний проект Optimus, звинувативши його…

12.06.2025