Virtualisierung

Aus Zweites Gehirn, dem persönlichen Wiki
Virtualisierung
TypKonzept
QuellenQuelle - Docker Bootcamp
Erstellt2026-09-27
Aktualisiert2026-09-27
Tagsvirtualisierung, betriebssystem, container, infrastruktur

Virtualisierung bildet Rechner oder Betriebssystemumgebungen in Software nach, damit mehrere voneinander abgeschottete Systeme auf derselben Hardware laufen. Eine virtuelle Maschine simuliert einen ganzen Rechner samt eigenem Kernel, ein Container teilt sich den Kernel des Hosts und virtualisiert nur die Anwendungsumgebung. Das macht Container leichter und schneller.

Das Problem

Eine Webanwendung wird unter Windows entwickelt, soll aber auf einem Ubuntu-Server laufen. Dann drohen unterschiedliche Python- und Modulversionen, anders kompilierte Bibliotheken (etwa ohne SSL), andere Zeitzonennamen, Gross-/Kleinschreibung im Dateisystem und maximale Pfadlängen. Dazu muss die Serverkonfiguration ausführlich beschrieben und von der IT-Abteilung richtig umgesetzt werden (Quelle - Docker Bootcamp, Folien 7–8). Das Ziel ist eine replizierbare Umgebung.

Kernel

Der Kernel ist der Kern des Betriebssystems: das erste Programm nach dem Start, die Schnittstelle zwischen Hardware und Anwendungen. Er verteilt die CPU auf die Prozesse und steuert den Zugriff auf Speicher und Geräte (Folie 12).

Virtuelle Maschine und Container

Virtuelle Maschine Container
Was wird virtualisiert ganzer Rechner: Hardware, Kernel, Betriebssystem, Anwendungen nur die Anwendungssoftware mit ihren Abhängigkeiten
Kernel eigener geteilt mit dem Host
Ressourcen viel RAM, CPU und Speicherplatz, tendenziell langsamer wenig Overhead
Abschottung sehr stark vom Rest des Systems isoliert, aber gleicher Kernel
Beispiele VirtualBox, VMware, Hyper-V Docker

(Folien 10–15, 23–24)

Virtuelle Maschinen gibt es seit den 1960er-Jahren (Folie 10). Container virtualisieren nur, was eine Anwendung wirklich braucht (siehe Container).

Docker ausserhalb von Linux: Linux-Container brauchen einen Linux-Kernel. Unter macOS und Windows startet Docker deshalb im Hintergrund eine kleine, optimierte Linux-VM, unter Windows mit WSL 2 (Windows Subsystem for Linux). Weil die Anwendungen später meist auf Linux laufen, ist dieser Overhead nur bei der Entwicklung da. Windows-Container laufen nur auf einem Windows-Host (Folie 24).

CPU-Architektur: Weil der Kernel geteilt wird, läuft ein Container in der Regel in der Architektur des Hosts, auf einem Mac mit Apple-Chip also ARM (linux/arm64), auf einem Intel-/AMD-PC x86 (linux/amd64). Mit --platform=linux/amd64 lässt sich die andere Architektur emulieren, das kostet aber viel Leistung (Folien 187–188).

Einordnung (Claude)

Virtualisierung ist auch ein Werkzeug der Verfügbarkeit: Eine VM oder ein Container lässt sich auf anderer Hardware neu starten, was im Business Continuity Planning den Wiederanlauf erleichtert. Container isolieren schwächer als VMs, weil ein Fehler im gemeinsamen Kernel alle Container betrifft. Für stark schutzbedürftige Trennungen (etwa zwischen Kunden) nimmt man deshalb oft VMs, in denen dann wieder Container laufen (siehe Informationssicherheit). Das ist Allgemeinwissen und nicht eigens recherchiert.

Verwandt