21.1 Warum Podman auf Nicht-Linux
immer eine Maschine braucht
Podman ist eine Linux-native Container-Engine. Seine Grundpfeiler –
Namespaces, Cgroups, Seccomp, Capabilities, OverlayFS – existieren
ausschließlich im Linux-Kernel. macOS und Windows bringen diese
Mechanismen nicht mit. Docker löst dieses Problem durch einen permanent
laufenden, systemweiten Daemon, der in einer Linux-VM existiert und über
proprietäre Backdoors angesprochen wird.
Podman geht den entgegengesetzten Weg: Es schafft eine klar
abgegrenzte Linux-Umgebung, die bewusst sichtbar bleibt – die
Podman Machine. Kein versteckter Daemon. Wer auf macOS
oder Windows Container laufen lässt, tut das in einer echten,
vollwertigen Linux-VM.
21.2 Architektur der Podman
Machine
Merkmale:
macOS nutzt QEMU oder Apple Hypervisor Framework (HVF)
Windows nutzt WSL2 oder Hyper-V
die VM läuft daemonless, wie Podman unter Linux
die Podman Engine im Inneren ist identisch mit der
Linux-Version
WSL2 ist leichtgewichtig und bietet nahezu native
CPU-Performance.
Eigenschaften:
funktionales Netzwerkmodell, aber vom klassischen Linux
abweichend
Storage-Performance hängt vom Integrationspfad ab
Overlay-Mechanik läuft vollständig im Linux-Gast
21.4.3 Hyper-V
Hyper-V bietet:
klar definiertes VM-Modell
genauer steuerbare Ressourcen
stabilere Netzwerksemantik
Dafür ist Hyper-V weniger komfortabel und nicht auf allen
Windows-Editionen verfügbar.
21.5 Gemeinsames Verhalten auf
beiden Plattformen
21.5.1 Container laufen immer in
der VM
Die VM bildet den vollständigen Stack:
Podman Engine
conmon
runc/crun
fuse-overlayfs
Netavark/Aardvark
kompletter Linux-Storage
Cgroups v2
Netzwerk und Routing
Image-Cache
Nichts davon läuft nativ auf macOS oder Windows. Der Host ist reine
Steuerungsoberfläche.
21.5.2
Performance-Eigenschaften
größere I/O-Latenz
langsamere Host-Mounts
eingeschränkte Netzwerkdurchsätze
höhere Startzeiten
Build-Prozesse sind durch die Virtualisierungsschicht
beeinflusst
21.5.3 Rootless
Rootless läuft ausschließlich innerhalb der VM.
User Namespaces funktionieren
fuse-overlayfs ist Standard
Netavark funktioniert vollwertig
Die Hostseite bleibt unangetastet – es existiert kein globaler
Daemon.
21.6 Podman Machine als portable
Entwicklungsumgebung
Podman Machine schafft eine einheitliche Laufzeitumgebung für alle
Plattformen:
einheitliches Verhalten unabhängig vom Hostbetriebssystem
Linux-native Containerlaufzeit auch auf macOS/Windows
saubere Trennung von Host und Container-Runtime
reproduzierbare Tests und Aufbauten für spätere
Linux-Deployments
einfache Verwaltung verschiedener Maschinen und Konfigurationen
Damit entsteht eine konsistente Umgebung, die unabhängig vom Host
arbeitet und sich wie ein kleiner, autonomer Linux-Server verhält.
21.7 Wann Podman Machine geeignet
ist – und wann nicht
Gut geeignet für:
Entwicklung ohne Hardware-Abhängigkeiten
Testen von Container-Layouts
reproduzierbare Workflows über mehrere Plattformen hinweg
Systementwicklung, die später auf Linux-Servern laufen soll
isolierte Sandbox-Umgebungen
Nicht geeignet für:
Performance-sensible Produktionssetups
hardwareintensive Workloads
Szenarien, die direkten Zugriff auf Hostgeräte benötigen
Systeme, die Zero-Copy oder Host-spezifische Beschleuniger
erwarten
Podman Machine ist ein klar definierter Mechanismus: eine konsequent
isolierte Linux-VM, die sich vollständig wie ein einzelner
Container-Host verhält.