21 Podman Machine für macOS und Windows

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:


21.3 Podman Machine auf macOS

21.3.1 Installation

brew install podman
podman machine init
podman machine start

Ressourcen lassen sich beim Anlegen definieren:

podman machine init --cpus 4 --memory 8 --disk-size 50

21.3.2 Besonderheiten auf macOS

Die VM bildet die echte Laufzeitumgebung. Die Performance orientiert sich an der Virtualisierungsschicht.

21.3.3 Dateien zwischen Host und VM

Host-Verzeichnisse werden per virtiofs-ähnlichem Mechanismus eingebunden:

podman run -v ~/code:/workspace <image>

Große Daten oder Artefakte sollten möglichst innerhalb der VM liegen, nicht im Host-Mount.


21.4 Podman Machine auf Windows

21.4.1 Installation

winget install RedHat.Podman
podman machine init
podman machine start

Standards:

21.4.2 WSL2

WSL2 ist leichtgewichtig und bietet nahezu native CPU-Performance.

Eigenschaften:

21.4.3 Hyper-V

Hyper-V bietet:

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:

Nichts davon läuft nativ auf macOS oder Windows. Der Host ist reine Steuerungsoberfläche.

21.5.2 Performance-Eigenschaften

21.5.3 Rootless

Rootless läuft ausschließlich innerhalb der VM.

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:

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:

Nicht geeignet für:

Podman Machine ist ein klar definierter Mechanismus: eine konsequent isolierte Linux-VM, die sich vollständig wie ein einzelner Container-Host verhält.