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-компанія NIX хоче скасувати свідоцтво львівської компанії N-iX на торгівельну марку «N-X» через подібну…
Чат-бот на основі штучного інтелекту ChatGPT запускає режим «навчання». Це дозволить крок за кроком вирішувати…
Аналіз коду бета-версії Telegram (v11.14.0) виявив кілька нових функцій, про які за кілька тижнів буде…
Дослідники кібербезпеки з компанії Tracebit виявили критичну вразливість в інструменті кодування Gemini CLI. Вона дозволяє…
Міністерство цифрової трансформації України запускає на порталі «Дія.Бізнес» новий сервіс — Маркетплейс цифрових рішень. Він…
Згідно з внутрішніми повідомленнями Meta, з якими ознайомилося видання 404 Media, компанія Марка Цукерберга планує…