Anleitung: Docker startet virtuelle Maschinen mit Linux, macOS und Windows

Docker macht es möglich: macOS, Linux und Windows als VM in Container verpacken, sodass macOS unter Windows startet und ARM-Windows auf dem Raspi 5 läuft.

Artikel verschenken
vorlesen Druckansicht 92 Kommentare lesen

(Bild: Ulrike Weis/heise medien)

Lesezeit: 18 Min.
Inhaltsverzeichnis

Der Clou der Container-Virtualisierung ist, dass sich verschiedene Systemumgebungen einen Betriebssystemkern teilen. So laufen nebeneinander konfliktfrei Anwendungen mit unterschiedlichen Anforderungen an Systembibliotheken, zum Beispiel Ubuntu mit einer Nextcloud parallel zu Fedora mit einem Blog darin. Das geschieht auf einem System (Host), auf dem zum Beispiel Debian-Linux und -Kernel laufen. In Docker-Containern vollwertige Betriebssysteme wie macOS, Windows und auch Linux auszuführen, klingt deshalb erst mal schräg. Mit den Images der Projekte Dockur und Qemus auf GitHub klappt das aber auf NAS-Geräten, Linux-PCs, auf dem Raspberry Pi und sogar unter Windows in WSL2 (Windows Subsystem für Linux).

Dass es funktioniert, liegt daran, dass Docker das Konzept von privilegierten Containern vorsieht. Wenn das fĂĽr den Docker-Host verwendete Betriebssystem Virtualisierung beherrscht, kann ein Container diese aktivieren und aus dem Container heraus steuern. Bedient wird das virtuelle System meist im Browser beziehungsweise per VNC. Im Fall von x86-Prozessoren, egal ob im NAS, einem Linux-PC oder innerhalb von WSL2 steht ĂĽblicherweise die Linux-eigene Kernel-Virtualisierung (KVM) zur VerfĂĽgung. Genau die machen sich die Docker-Container zunutze.

c’t kompakt
  • Container sind vor allem dafĂĽr bekannt, komplizierte Server-Anwendungen platzsparend zu bĂĽndeln und bequem zu starten.
  • Docker und Podman können mit Tricks sogar den Start von virtuellen Maschinen automatisieren, also vollständige Betriebssysteme starten.
  • Das erlaubt es, unerwartete Allianzen zu schmieden: macOS unter Windows zu starten oder Windows auf einem Raspi oder NAS.
Weitere Themen zu Docker und VMs

Es sieht zwar auf den ersten Blick so aus, als liefen so macOS, Linux und Windows in Docker, doch das täuscht. Sie stecken in einer virtuellen Maschine, die der Docker-Host ausführt; dazu greifen die Projekte auf die Linux-eigene Kernel-Virtualisierung KVM und ihren Helfer QEMU zurück. Allerdings, und das ist das Coole, erstellt Docker die VM, konfiguriert sie, versorgt sie mit Netzwerk, besorgt die Installationsdatenträger für Linux, macOS und Windows. Es erledigt im Fall von Windows sogar die Installation des Betriebssystems, ohne dass der Nutzer überhaupt aktiv werden muss. Bei macOS und Linux bleiben ein paar Handgriffe für die Installation zu erledigen.

Das war die Leseprobe unseres heise-Plus-Artikels "Anleitung: Docker startet virtuelle Maschinen mit Linux, macOS und Windows". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.