Apple представи инструмент за стартиране на Linux контейнери в macOS

Компанията Apple представи инструмент за създаване, изтегляне и изпълнение на Linux контейнери в macOS. Работата на контейнерите в macOS се осигурява чрез лековесни виртуални машини с ядро Linux, стартирани с помощта на хипервизора Virtualization.framework. За работа с Linux контейнери са предложени два пакета — containerization и container, написани на езика Swift и отворени под лицензия Apache 2.0.

Пакетът Containerization предоставя нискоуровневен API за управление на изображенията на контейнери в формат OCI, изтегляне на контейнери от външни хранилища, създаване на коренова файлова система Ext4, осигуряване на мрежово взаимодействие, сглобяване на бързо зареждаеми опции за ядро на Linux, създаване виртуални машини и стартиране в тях на отделни контейнери. Контейнерите могат да бъдат свързани с отделни IP адреси. За организиране на работата на виртуалния мрежови стек, свързан с всеки контейнер, е ангажиран фреймуъркът vmnet.

Стартирането на виртуалната машина отнема по-малко от секунда, благодарение на приложението на оптимизирана конфигурация на ядрото на Linux и съкратена системна среда с лек процес на инициализация vminitd. Взаимодействието с процеса на инициализация в виртуална машина се осъществява чрез API GRPC върху vsock. Този API позволява настройка на параметрите на работната среда и стартиране на контейнери с избраното от потребителя съдържание или отделни изолирани процеси.

Пакетът Container представлява надстройка над 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.

Apple представи инструмент за стартиране на Linux контейнери в macOS


Източник: opennet.ru
Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster