Künstliche Intelligenz
Podman 6 baut Docker-Kompatibilität aus
Podman 6.0.0 ist da: Das Open-Source-Projekt packt eine grundlegende Modernisierung des Netzwerk-Stacks an, bringt Verbesserungen für Podman Machine und Quadlet sowie Änderungen an der Konfigurationsverwaltung. Außerdem soll die Software Docker-kompatibler werden, um bestehende Workflows einfacher zu übernehmen. Hinzu kommen allerdings auch Breaking Changes: Die Unterstützung für Intel-Mac-Systeme, Windows 10, cgroups v1 und CNI-Networking wurde eingestellt; BoltDB-Datenbanken werden beim ersten Start automatisch zu SQLite migriert.
Weiterlesen nach der Anzeige
Podman ist eine Container-Engine für Linux, macOS und Windows. Anders als Docker benötigt Podman keinen dauerhaft laufenden Daemon. Container lassen sich direkt über Prozesse des Betriebssystems verwalten. Das vereinfacht unter anderem Rootless-Betrieb und die Integration in bestehende Linux-Systeme. Viele Docker-Befehle und Container-Images funktionieren auch mit Podman, was den Umstieg erleichtert.
Netzwerk-Stack wird grundlegend modernisiert
Die wichtigste technische Änderung betrifft das Netzwerk. Das Projekt ersetzt mehrere ältere Komponenten mit Version 6.0.0 vollständig durch modernere Alternativen. Konkret entfernt Podman in Version 6.0.0 den Support für slirp4netns und iptables vollständig zugunsten von Netavark, Pasta und nftables.
Netavark ist das von Podman entwickelte Netzwerk-Backend für Container. Es übernimmt unter anderem die Konfiguration virtueller Netzwerke und Firewall-Regeln. Nftables ist der Nachfolger von iptables im Linux-Kernel und gilt als flexibler und einfacher zu warten. Pasta (Pack A Subtle Tap Abstraction) verbindet Rootless-Container direkt mit dem Netzwerk des Hosts und soll dabei gegenüber älteren Verfahren Leistungs- und Kompatibilitätsvorteile bieten.
Neu hinzu kommt eine experimentelle Unterstützung für Pesto beim Rootless-Port-Forwarding. Die Funktion soll bei Rootless-Containern in benutzerdefinierten Netzwerken die ursprüngliche Quell-IP-Adresse erhalten. Das ist beispielsweise für Webserver oder Reverse Proxies relevant, die Zugriffe anhand der Client-IP protokollieren oder Zugriffsregeln darauf anwenden.
Verbesserungen für virtuelle Umgebungen
Auch Podman Machine erhält zahlreiche Erweiterungen. Die Komponente stellt virtuelle Maschinen bereit, in denen Podman auf Plattformen wie macOS oder Windows läuft.
Weiterlesen nach der Anzeige
Podman Machine soll den Umgang mit unterschiedlichen Virtualisierungs-Backends vereinfachen. Die podman machine-Befehle können nun virtuelle Maschinen verschiedener Provider verwalten, ohne dass Anwender zuvor den aktiven Provider wechseln müssen. Außerdem führt das Projekt den neuen Befehl podman machine os update ein. Damit lässt sich das Betriebssystem einer Podman-Machine aktualisieren, ohne die virtuelle Umgebung neu aufsetzen zu müssen. Weitere Änderungen kündigen die Entwickler für separate Beiträge an.
Quadlet und Konfigurationsverwaltung ausgebaut
Quadlet, das Container über systemd-Unit-Dateien verwaltet, wurde ebenfalls umfassend überarbeitet. Neu sind unter anderem Unterstützung für die REST-API, eine verbesserte Nachverfolgung zugehöriger Dateien sowie erweiterte Funktionen für .volume-Units. Zusätzlich durchsucht Quadlet weitere Verzeichnisse, was die Paketierung und Verteilung erleichtern soll.
Auch die Verwaltung von Konfigurationsdateien wurde überarbeitet. Die Entwickler versprechen insbesondere für Mehrbenutzerumgebungen ein robusteres und besser vorhersehbares Verhalten. Details zu den Änderungen haben sie in einem separaten Blogbeitrag beschrieben.
Docker-Kompatibilität weiter verbessert
Schließlich arbeitet das Projekt weiter an der Kompatibilität zu Docker. Dazu aktualisiert Podman seine Unterstützung der Docker-API und passt die Ausgabe verschiedener Befehle an das Verhalten von Docker an. Dadurch sollen Anwendungen und Automatisierungen, die ursprünglich für Docker entwickelt wurden, mit weniger Anpassungen unter Podman funktionieren.
Podman 6.0.0 steht bereits auf GitHub bereit und soll nach Angaben des Projekts in Kürze über die Paketquellen der verschiedenen Linux-Distributionen verfügbar werden.
(fo)