Da der of­fi­zi­el­le Support für das beliebte Container-Ma­nage­ment-Tool Docker in Red Hat En­ter­pri­se Linux 8 (RHLE 8) ein­ge­stellt wurde, müssen sich Ad­mi­nis­tra­to­rin­nen und Ad­mi­nis­tra­to­ren auf eine neue Option ein­stel­len. Podman, ebenfalls von Red Hat, gilt als direkter Nach­fol­ger und kann durch den Verzicht auf einen zentralen Daemon und Root-Pri­vi­le­gi­en ge­wich­ti­ge Si­cher­heits­be­den­ken des Vor­gän­gers ent­kräf­ten. Ansonsten ähneln sich beide Tools, wobei Podman noch mit einigen Bugs zu kämpfen hat.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was sind Docker und Podman?

Docker, eine der be­lieb­tes­ten und ver­brei­tets­ten Container-Lösungen, erhält keinen of­fi­zi­el­len Support mehr in Red Hat En­ter­pri­se Linux 8. Her­aus­ge­ber Red Hat liefert die Lösung des Problems al­ler­dings direkt mit: Podman. Die CRI-O-Umgebung wird von Red Hat als gleich­wer­ti­ge 1:1-Lösung beworben, sodass sich Docker-Fans ei­gent­lich keine Sorgen machen müssten. Ob aber Podman Docker wirklich ohne Ein­schrän­kun­gen ersetzen kann, steht auf einem anderen Blatt. Um diese Frage be­ant­wor­ten zu können, lohnt es sich, zunächst beide Container-Tech­no­lo­gien unter die Lupe zu nehmen.

Was ist Docker?

Seit Docker 2013 als Open-Source-Software ver­öf­fent­licht wurde, erfreut sich die Tech­no­lo­gie großer Be­liebt­heit. Als leichte und zugleich prak­ti­ka­ble sowie ver­läss­li­che Lösung für die An­wen­dungs­ent­wick­lung er­mög­licht Docker Nut­ze­rin­nen und Nutzern eine freiere Her­an­ge­hens­wei­se. Durch das Image als Abbild eines Con­tai­ners lassen sich Pakete leicht als Daten trans­por­tie­ren und in­stal­lie­ren. Ein einzelnes Docker-Image kann dabei eine un­be­grenz­te Anzahl von Con­tai­nern kreieren, um z. B. OpenStack-Clouds zu rea­li­sie­ren. Docker ist dabei mit Ausnahme einiger weniger Schnitt­stel­len zu Be­triebs­sys­tem oder Hardware komplett isoliert. Die Container selbst enthalten lediglich jene In­for­ma­tio­nen, die wirklich benötigt werden, und sind dadurch ver­gleichs­wei­se schlank.

Was ist Podman?

An die Stelle Dockers soll nun Podman treten – zumindest nach dem Willen von Red Hat Linux. Podman ist als Pod-Manager für die Er­stel­lung und Wei­ter­ver­ar­bei­tung von Con­tai­nern gedacht und mit der OCI-Container-Spe­zi­fi­ka­ti­on kom­pa­ti­bel. Im Gegensatz zu Docker kommt Podman ohne Root-Rechte aus und soll daher im Vergleich sicherer sein. Podman baut auf Docker auf und war ur­sprüng­lich als Debugging-Tool geplant, bevor es zur Al­ter­na­ti­ve bzw. zum Nach­fol­ger der älteren Ma­nage­ment-Tools wurde. Um die Um­stel­lung zu er­leich­tern, ist es möglich, Befehle aus Docker in Podman zu verwenden. Das allein macht Podman al­ler­dings noch nicht zu einem eben­bür­ti­gen Nach­fol­ger.

Tipp

Auf schnells­tem Weg in die Cloud! Mit der F1 Cloud Per­for­mance von IONOS sorgen Sie nicht nur dafür, dass Ihre Daten stets sicher sind, sondern pro­fi­tie­ren dazu auch noch vom besten Preis-Leistungs-Ver­hält­nis. Wählen Sie einfach den passenden Tarif für Ihre An­for­de­run­gen.

Kann Podman Docker komplett ersetzen?

Genau das ist aber die ent­schei­den­de Frage. Da in RHEL 8 der Support für Docker ein­ge­stellt wurde, müssen viele Nut­ze­rin­nen und Nutzer sich neu ori­en­tie­ren und eine ver­gleich­bar gute Al­ter­na­ti­ve finden. Während Red Hat Linux in Podman diese Option sieht, sind viele Ent­wick­le­rin­nen und Ent­wick­ler un­schlüs­sig oder sogar ablehnend. Um den Zweikampf Docker vs. Podman an­ge­mes­sen bewerten zu können, lohnt sich ein Blick auf die Stärken und Schwächen des Her­aus­for­de­rers.

Welche Vorteile bietet Podman?

Der größte Vorteil, den Podman auch gegenüber Docker bietet, ist der Verzicht auf einen zentralen Daemon und die Root-Rechte. Dadurch ist nicht nur ein schnel­le­rer Start möglich – unter dem Si­cher­heits­aspekt ist diese Änderung ebenfalls be­grü­ßens­wert. Das Host-System ist geschützt und Prozesse mit Root-Rechten können nicht länger auf den Kernel zugreifen. Auch die Kom­pa­ti­bi­li­tät mit Docker ist für Podman ein großer Vorteil. Die Migration lässt sich ver­gleichs­wei­se einfach durch­füh­ren, und auch die einzelnen Ar­beits­schrit­te sind für Ad­mi­nis­tra­to­rin­nen und Ad­mi­nis­tra­to­ren, die das alte Ma­nage­ment gewohnt sind, wei­test­ge­hend intuitiv.

Darüber hinaus ist es mit Podman möglich, beliebte Container-Re­gis­trie­run­gen wie Docker Hub oder Quay.io zu verwenden. Auch YAML-Dateien für Ku­ber­netes können erstellt werden. Podman benötigt insgesamt weniger Spei­cher­platz, gilt als extrem schnell und ver­gleichs­wei­se effizient. Mitt­ler­wei­le ist Podman daher die Default-Lösung für viele Linux-Dis­tri­bu­tio­nen wie Fedora CoreOS.

Welche Nachteile hat Podman?

So sehr Red Hat auch von Podman überzeugt ist, feh­ler­frei ist die Container-Engine nicht. Ins­be­son­de­re einige Kin­der­krank­hei­ten und Bugs sorgen dafür, dass viele Ad­mi­nis­tra­to­rin­nen und Ad­mi­nis­tra­to­ren noch nicht vollends von Podman überzeugt sind und andere Al­ter­na­ti­ven zu Docker suchen oder Hy­brid­lö­sun­gen wie Kata Con­tai­ners be­vor­zu­gen.

Fehler beim Umgang mit Con­tai­nern sind häufiger zu be­ob­ach­ten. Ohne einen Daemon im Netzwerk sind die Er­stel­lung und das Ma­nage­ment der Container über einen Remote Host schwierig. Auch wenn Podman hier erste Lö­sungs­vor­schlä­ge anbietet, sind diese Probleme nicht behoben. Das gilt auch für die ver­spro­che­ne Kom­pa­ti­bi­li­tät von Podman und Docker. Noch werden nicht alle Requests vom neueren Tool ver­stan­den.

Podman vs. Docker: Welche Un­ter­schie­de gibt es?

Für ein Urteil, ob nun der jahrelang beliebte Quasi-Standard oder der Her­aus­for­de­rer im Duell Podman vs. Docker tri­um­phiert, ist der direkte Vergleich beider Engines ent­schei­dend. Worin un­ter­schei­den sich also die beiden Ma­nage­ment-Systeme?

Podman kommt ohne zentralen Daemon aus

Anders als Docker ver­zich­tet Podman auf einen zentralen Daemon für die Ent­wick­lung, Ver­wal­tung und Aus­füh­rung von OCI-Con­tai­nern. Statt­des­sen basiert Podman auf dem Konzept der Ku­ber­netes Pods. Hierbei schließen sich mehrere Container innerhalb eines ge­mein­sa­men Linux-Na­mens­raums zusammen. Dies schafft flexible Kon­fi­gu­ra­ti­ons- und Kom­bi­na­ti­ons­mög­lich­kei­ten. Docker bietet diese Mög­lich­keit nicht ohne zu­sätz­lich Kon­fi­gu­ra­ti­on über docker-compose an.

Root-Rechte

In diesem Zu­sam­men­hang ist auch einer der größten Kri­tik­punk­te an Docker zu sehen. Dessen Daemon benötigt nämlich ob­li­ga­to­risch die Root-Be­rech­ti­gung und erschafft dadurch ein po­ten­zi­el­les Si­cher­heits­ri­si­ko. So haben Container über Docker grund­sätz­lich die Mög­lich­keit, aus­zu­bre­chen und auch auf dem Host zu wirken. Dies kann unter Umständen zu großen Schäden auf dem Kernel führen, wenn z. B. ein falsch kon­fi­gu­rier­ter Container Zugriff auf den Host erhält. Podman löst dieses Problem, indem Container ohne Root-Pri­vi­le­gi­en gestartet werden können. Was unter Si­cher­heits­aspek­ten be­grü­ßens­wert ist, bedingt al­ler­dings auch zwangs­läu­fig, dass Ad­mi­nis­tra­to­rin­nen und Ad­mi­nis­tra­to­ren keine Befehle ausführen können, die Root-Rechte auf dem Host vor­aus­set­zen.

Un­ter­stüt­zung von Pods

Im Duell Ku­ber­netes vs. Docker gibt es viele Un­ter­schie­de zwischen den beiden Schwer­ge­wich­ten, bei der Con­tai­ner­or­ches­trie­rung ar­bei­te­ten die Tools al­ler­dings gut zusammen. Das wird sich mit Ku­ber­netes 1.24 wohl ändern, da Ku­ber­netes den Support für Docker einstellt. Mit Podman soll die Zu­sam­men­ar­beit al­ler­dings weiter pro­blem­los möglich sein. Der Name des neueren Systems deutet bereits an, dass Podman (im Gegensatz zu Docker) zu­sätz­lich auch Pods un­ter­stützt, die von Ku­ber­netes etabliert wurden.

Fork-Exec-Modell

Anders als Docker folgt Podman einer Aktion nach dem Fork-Exec-Modell und zeichnet Än­de­run­gen im auditd-System auf. Das sieht bei Docker anders aus, da hier keine Auf­zeich­nung erfolgt.

Do­ku­men­ta­ti­on

Dieser Un­ter­schied wird mit der Zeit si­cher­lich kleiner und kleiner werden. Aktuell ist es al­ler­dings durchaus noch so, dass die Do­ku­men­ta­ti­on für Docker der für Podman weit überlegen ist. Bereits seit 2013 hat sich der „Oldie“ mehr oder weniger zum Standard ent­wi­ckelt und verfügt dem­entspre­chend über eine riesige Community, die Ad­mi­nis­tra­to­ren bei jedem Problem mit Rat und Tat zur Seite steht. Hier kann der fünf Jahre jüngere Nach­fol­ger noch nicht mithalten. In Zukunft werden sich die beiden Tools in dieser Hinsicht wohl an­glei­chen.

Design

Zwar ist das Design von Docker und Podman sehr un­ter­schied­lich, in der täglichen Arbeit fällt das al­ler­dings nur wenig ins Gewicht. Wer Docker kennt, wird sich sehr wahr­schein­lich auch mit Podman zu­recht­fin­den, gerade auch, da viele Befehle bekannt sind und einfach über­nom­men werden können.

Die Migration von Docker zu Podman

Genau das macht die Migration von Docker zu Podman auch ver­gleichs­wei­se einfach. Nicht nur sind die Befehle wie „pull“, „push“, „build“, „run“, „commit“ u. a. größ­ten­teils identisch, auch die Images von Docker sind kom­pa­ti­bel mit Podman. Dies war ein erklärtes Ziel der Ent­wick­ler. Bevor Sie den Wechsel voll­zie­hen, sollten Sie unbedingt si­cher­stel­len, dass Docker gestoppt wurde. Dann in­stal­lie­ren Sie Podman oder greifen auf die vor­in­stal­lier­te Software in einigen Linux-Versionen zurück. Sie müssen danach „Do­cker­file“ und docker-compose.yml in „Con­tai­ner­file“ und container-compose.yml um­be­nen­nen. Wichtig außerdem: Podman speichert seine Container und Images an einem anderen Platz als der pro­mi­nen­te Vorgänger.

Fazit: Podman vs. Docker – gibt es eine Wach­ab­lö­sung?

Podman vs. Docker ist ein un­glei­cher Kampf, da das ältere Tool zwar einen gewissen Vorsprung hat, von Red Hat al­ler­dings nicht mehr un­ter­stützt wird. Dafür gibt es durchaus gute Gründe, die vor allem im Bereich der Si­cher­heit zu finden sind. Hier hatte Docker lange Zeit großen Nach­hol­be­darf, und die Mängel wurden bei Podman behoben. Der Verzicht auf einen zentralen Daemon und der daraus re­sul­tie­ren­de bessere Schutz könnten so früher oder später auch skep­ti­sche Ad­mi­nis­tra­to­ren über­zeu­gen. Feh­ler­frei ist dabei al­ler­dings auch Podman nicht, kleinere Probleme müssen nach wie vor gelöst werden. Gelingt dies, gewinnt der Her­aus­for­de­rer Podman gegen Docker knapp.

Viele über­zeug­te Docker-En­thu­si­as­ten und -En­thu­si­as­tin­nen werden früher oder später eventuell noch wechseln oder sich neu ori­en­tie­ren und z. B. auf eine Ku­ber­netes-Al­ter­na­ti­ve zu­rück­grei­fen, mit der Docker noch genutzt werden kann. Durch die große Ähn­lich­keit der beiden Container-Lösungen und das Bestreben von Red Hat Linux, Podman als Nach­fol­ger zu eta­blie­ren, wird al­ler­dings auch ein Wechsel sehr wahr­schein­lich funk­tio­nie­ren.

Tipp

Die beste Cloud-Lösung für Ihre Zwecke: Mit einem Cloud Server von IONOS bauen Sie Ihre eigene virtuelle In­fra­struk­tur auf – genau auf Ihre in­di­vi­du­el­len An­for­de­run­gen zu­ge­schnit­ten. Wählen Sie aus unseren Ta­rif­mo­del­len von XS bis zum 5XL-Server die passende Lösung.

Zum Hauptmenü