iX 12/2020
S. 101
Wissen
Container

Kurz erklärt: Containermanagement mit Podman

Ausgedockt

Uwe Schulze

Container lassen sich auch ohne Docker verwalten. Der Trend geht zu Podman, einer kompletten Laufzeitumgebung für Container.

Eine Zeit lang schien es, als ließe sich Docker kaum noch vom Markt verdrängen. Und doch sind die Tage des gehypten Containermanagers wohl schon nach wenigen Jahren gezählt. Der neue Stern am Himmel über den Container­häfen heißt Podman. Von Red Hat ursprünglich als Debugging-Tool für die Container-­Engine CRI-O (Container Runtime Interface) konzipiert, hat sich Podman inzwischen zu einer kompletten Laufzeitumgebung für Container entwickelt.

Die Kritik an Docker entzündet sich vor allem am Docker-Daemon, denn Docker implementiert eine Client-Server-Architektur, in der ein Client Befehle an den Daemon dockerd sendet, der für die Verwaltung der Container (Starten, Stoppen) zuständig ist und die Ausführung wiederum containerd überlässt. Aus Sicherheitssicht ist dies vor allem dann heikel, wenn der Docker-Daemon mit Root-Rechten läuft. Zwar ist inzwischen ein Betrieb im User-Modus möglich, doch das Misstrauen bleibt. Deshalb nutzt Podman keinen Daemon, sondern die Fork-Exec-Funktion, um Container als Unterprozesse auszuführen. Damit kann nachvollzogen werden, welcher User einen Container gestartet hat. Da einzelne Programme innerhalb eines Containers Root-Rechte benötigen, stellen die User Namespaces aus dem Linux-­Kernel sicher, dass diese nur innerhalb des Containers gelten – nicht aber auf dem Host. Deshalb wirbt Podman mit rootless- und daemonless-Containern.

Kommentieren