Podman statt Docker
Docker ist seit Jahren in aller Munde. Die Community hinter diesem Projekt ist groß. Viel Arbeit lässt sich mit dem Einsatz von Containern sparen. Meistens genügt es das OCI Image zu pullen und fertig ist der Service. Das geht selbst mit Ansible nicht einfacher. Application as a Service.
Doch nicht alles bei Docker glänzt so wie der Anschein es erweckt. Beim Thema IPv6 hat Docker mächtig geschlafen. Die Dokumentation ist sehr schlecht und manche Szenarien lassen sich damit nicht vernünftig abbilden.
Podman - OCI kompatibel
Spätestens seit Podman 4 kann man sagen, dass es in einigen wesentlichen Punkten einfach besser als Docker ist. Das verrückte: Docker Kommandos funktionieren bei Podman identisch. Statt docker run
heißt es podman run
. Die Docker Images von hub.docker.com und anderen Portalen lassen sich in Podman ebenfalls nutzen. Lediglich in einigen Randszenarien, wie zum Beispiel bei Mailcow, lässt sich ein Docker nicht durch Podman ersetzen.
IPv6 out of the Box
Mit Podman 4 und Netavark sind gestartete Container auch gleich in der Lage per IPv6 mit anderen Systemen Kontakt aufzunehmen. In meinem Fall war das von entscheidender Bedeutung. Einer meiner PostgreSQL Server ist nur für die Kommunikation über IPv6 ausgelegt. Ein Container in Docker konnte diesen Datenbankserver deswegen nicht erreichen. Mit Podman 4 und Netavark war das überhaupt kein Problem.
Weitere Aspekte
Bei Podman können Container auch von nicht privilegierten Benutzern gestartet werden. Zudem wird für den Betrieb keinerlei Dienst benötigt. Dies alles ist förderlich für den sicheren Betrieb eines Containers. Bei Podman spricht man übrigens auch von Pods.
Bei Podman nutzt man in der Regel buildah um eigene Pods zu erstellen. Ausserdem gibt es Skripte docker-compose auch in podman nutzen zu können.
Fazit
Wer Docker nutzt und bisher Podman nicht getestet hat, sollte dies unbedingt tun. Es gibt in der Nutzungsweise einige Unterschiede. Ich persönlich bin eher von Podman als von Docker überzeugt. Im Arbeitsalltag ein absolut nützliches Werkzeug.