StartseiteArtikel

Apple Containerization bietet native Unterstützung für Linux-Container unter macOS.

极客邦科技InfoQ2025-06-17 19:52
Apple hat ein natives Linux-Container-Tool für Mac veröffentlicht, das als Open-Source-Alternative zu Docker dient.

Apple hat auf der Worldwide Developers Conference (WWDC) 2025 Containerization und Container CLI vorgestellt, ein Werkzeug zur Erstellung und Ausführung von Linux - Containern auf dem Mac in Form von leichten virtuellen Maschinen. Dies markiert einen grundlegenden Wandel bei der Art und Weise, wie Entwickler Linux - Container auf macOS ausführen, da dieser neue Open - Source - Containerisierungsrahmen die Notwendigkeit für Drittanbietertools wie Docker beseitigt. Dieser auf Swift basierende Rahmen wird in macOS 26 direkt native Unterstützung für Linux - Container bieten, was bedeutet, dass Apple mit einem Fokus auf Sicherheit, Leistung und Datenschutz in den Bereich der Containerisierung eingestiegen ist.

Im Gegensatz zu herkömmlichen Containerisierungslösungen, die mehrere Container in einer einzelnen großen virtuellen Maschine ausführen, führt Apples Ansatz jeden Linux - Container in einer eigenen leichten virtuellen Maschine aus. Diese Architektur bietet mehrere entscheidende Vorteile:

Erhöhte Sicherheit: Jeder Container erhält das gleiche Isolationsniveau wie eine vollständige virtuelle Maschine, was die Angriffsfläche erheblich verringert. Das minimale Dateisystem enthält keine Kernwerkzeuge, dynamischen Bibliotheken oder libc - Implementierungen, was die Sicherheitsrisiken weiter verringert.

Eigene Ressourcen: Jeder Container hat seine eigene IP - Adresse, wodurch die Notwendigkeit für Portweiterleitung entfällt und ein Hochleistungsnetzzugang ermöglicht wird. CPU - und Speicherressourcen werden pro Container zugewiesen und verbrauchen keine Ressourcen, wenn der Container nicht läuft.

Datenschutz - orientiertes Design: Das Teilen von Verzeichnissen und Dateien erfolgt pro Container, sodass nur der anfordernde Container auf geteilte Inhalte zugreifen kann, anstatt diese allen Containern in der geteilten virtuellen Maschine zugänglich zu machen.

Der Containerization - Rahmen nutzt Swift weitgehend, einschließlich eines benutzerdefinierten Initialisierungssystems vminitd, das vollständig in Swift geschrieben ist. Dieses Initialisierungssystem wird als erster Prozess in jeder virtuellen Maschine ausgeführt und übernimmt folgende Aufgaben:

  • Zuweisung von IP - Adressen für Netzwerkschnittstellen
  • Einhängen von Dateisystemen, einschließlich der Blockgeräte der Container
  • Prozessstart und - überwachung
  • API - Verwaltung für die Kommunikation zwischen Host und Container

Um dies in einer Umgebung ohne Standardbibliothek zu erreichen, nutzt Apple das statische Linux - SDK von Swift, um direkt von macOS aus statische Linux - Binärdateien zu cross - kompilieren und verwendet musl für die statische Verknüpfung.

Obwohl jeder Container in seiner eigenen virtuellen Maschine läuft, behauptet Apple, dass durch mehrere Optimierungen Startzeiten im Subsekundenbereich erreicht werden:

Optimierter Linux - Kernel: Eine benutzerdefinierte Kernelkonfiguration, speziell für Containerisierungsworkloads entwickelt

EXT4 - Blockgeräte: Das Containerdateisystem wird als formatiertes EXT4 - Blockgerät zugänglich gemacht, um einen Hochleistungszugang zu ermöglichen

Optimierung für Apple Silicon: Der gesamte Technologiestack ist für Apples maßgeschneiderte Silicon - Architektur optimiert

Apple bietet Entwicklern, die Containerisierungslösungen erstellen, einen Rahmen und ein Befehlszeilentool für die sofortige Nutzung. Das container CLI - Tool bietet vertraute Docker - ähnliche Befehle:

Das Tool bietet XPC - Dienste für die Speicherung, Imageverwaltung, Netzwerkdienste und Containerlaufzeitverwaltung, die alle mit der Containerization - API erstellt wurden.

Apple hat den Containerization - Rahmen und das container CLI - Tool auf GitHub als Open - Source - Projekt veröffentlicht. Das Code - Repository enthält:

  • Den vollständigen Quellcode des Rahmens und des Tools
  • Beispielprojekte zur Demonstration der Integration
  • Technische Dokumentation und eine Übersicht der Architektur
  • Das plattformübergreifende Swift - Paket, das in vminitd verwendet wird

Mit dem Eintritt in den Bereich der Containerisierung hat Apple sich einer bereits etablierten Open - Source - Ökosystem angeschlossen, das Docker als Alternative bietet. Diese Alternativen haben in letzter Zeit erhebliche Aufmerksamkeit erhalten. Podman, entwickelt von Red Hat, ist die bekannteste Alternative zu Docker. Es bietet eine OCI - konforme Containerverwaltung mit einer daemonlosen Architektur, die die Notwendigkeit für Root - Rechte beseitigt. Dieser rootlose Betrieb bietet erhöhte Sicherheit und macht Podman besonders in Umgebungen attraktiv, in denen Sicherheit von entscheidender Bedeutung ist. Andere bemerkenswerte Lösungen sind containerd, das als unterliegender Containerlaufzeitmanager für Kubernetes verwendet wird, und Buildah, das speziell für die Erstellung von Container - Images ohne die Notwendigkeit eines vollständigen Containerlaufzeitmanagers entwickelt wurde. Tools wie LXD konzentrieren sich auf Systemcontainer anstelle von Anwendungscontainern, während Lösungen wie Rancher Desktop eine benutzerfreundliche grafische Oberfläche für die Containerverwaltung bieten. Apples einzigartiger Ansatz, jeden Container in einer eigenen leichten virtuellen Maschine auszuführen, unterscheidet es von diesen bestehenden Lösungen, die normalerweise auf geteilten Kernel - Containerisierungstechnologien wie cgroups und namespaces basieren.

Der Containerization - Rahmen und das containerCLI werden mit macOS 26 zur Verfügung gestellt. Die Open - Source - Komponenten sind bereits auf GitHub verfügbar. Entwickler können den Rahmen erkunden, an seiner Entwicklung mitwirken und beginnen, Lösungen zu erstellen, die Linux - Container nativ in macOS integrieren.

Englische Originalversion ansehen:

Apple Containerization a Native Linux Container Support for macOS(https://www.infoq.com/news/2025/06/apple-container-linux/)

Dieser Artikel stammt aus dem WeChat - Account „InfoQ“ (ID: infoqchina), Autor: Claudio Masolo, veröffentlicht von 36Kr mit Genehmigung.