Apple hat ein Toolkit für den Start von Linux-Containern in macOS eröffnet.

Die Firma Apple hat ein Tool zur Erstellung, zum Hochladen und zur Ausführung von Linux-Containern unter macOS vorgestellt. Der Betrieb von Containern in macOS erfolgt durch den Einsatz von leichtgewichtigen virtuellen Maschinen mit einem Linux-Kernel, die mithilfe des Hypervisors Virtualization.framework gestartet werden. Für die Arbeit mit Linux-Containern stehen zwei Pakete zur Verfügung: containerization und container, die in der Programmiersprache Swift geschrieben sind und unter der Apache 2.0-Lizenz offen sind.

Das Paket Containerization bietet eine Low-Level-API zur Verwaltung von Container-Images im OCI-Format, zum Hochladen von Containern aus externen Repositories, zur Erstellung eines Root-Dateisystems Ext4, zur Gewährleistung der Netzwerkintegration, zum Zusammenstellen von schnell ladbaren Linux-Kernel-Varianten, zur Erstellung virtuelle Maschinen und zum Starten einzelner Container. Container können mit bestimmten IP-Adressen verbunden werden. Für die Organisation des virtuellen Netzwerk-Stacks, der an jeden Container gebunden ist, wird das vmnet-Framework verwendet.

Der Start einer virtuellen Maschine dauert weniger als eine Sekunde, dank der Anwendung einer optimierten Konfiguration des Linux-Kernels und einer reduzierten Systemumgebung mit dem leichtgewichtigen Init-Prozess vminitd. Die Interaktion mit dem Initialisierungsprozess erfolgt virtuellen Maschine über die GRPC-API über vsock. Diese API ermöglicht es, die Umgebungsparameter zu konfigurieren und Container mit vom Benutzer gewähltem Inhalt oder isolierten Prozessen über die virtuelle Maschine zu starten.

Das Paket Container ist eine Erweiterung der API Containerization, die eine High-Level-Toolbox im Docker-Stil zur Erstellung, zum Hochladen, zum Starten und zum Stoppen von Linux-Container-Images im OCI-Format bereitstellt. Die Verwaltung von Diensten beim Start von Containern erfolgt mithilfe des Systemmanagers Launchd.

Das Tool kann in macOS 15 verwendet werden, jedoch wird zur vollständigen Nutzung und zur Vermeidung von Problemen empfohlen, die Version macOS 26 Beta 1 zu verwenden. Beispielsweise funktioniert in macOS 15 die direkte Netzwerkkommunikation zwischen Containern nicht und die Bindung einzelner IP-Adressen an Container ist eingeschränkt. Der Betrieb auf ARM-Systemen von Apple Silicon Mac (M1/M2/M3/M4) ist möglich, während Computer mit Intel-Prozessoren nicht unterstützt werden. Für den Start von Containern, die für die Architektur x86_64 erstellt wurden, wird der Prozessorkommandotranslator Rosetta 2 verwendet.

Apple hat ein Toolkit für den Start von Linux-Containern in macOS eröffnet.


Quelle: opennet.ru
60GB SSD 8Gb DDR4