Podman oder Docker

Frank73

Active member
Hallo zusammen,

während den heißen Nächten habe ich mir ein neues Projekt überlegt, welches ich gerade am realisieren bin.
Aktuell bin ich dabei einen VPS aufzusetzen, auf welchen ich über einen Site to Site Tunnel (Wireguard) von der FB darauf zugreifen kann. Zugriff auf den VPS erfolgt nur über den Tunnel.
Testweise möchte ich vorerst meine Anleitungen von meiner NAS auf den VPS "umziehen", später dann mehr.
Meine Idee ist die, dass bei Ausfall der NAS relativ schnell ein redundantes System außerhalb meiner 4 Räume für die wichtigen Anwendungen (in der Regel alles Docker-Lösungen) zur Verfügung steht. Backups stehen in ausreichender Form zur Verfügung, einen Hardwareausfall habe ich bisher jedoch so nicht bedacht.

Jetzt steht die Überlegung an, soll ich Docker verwenden (nutze ich bisher auf meiner NAS) oder soll ich auf dem VPS Podman installieren. Bei Podman gefällt mir vor allem die Möglichkeit, dass es rootless genutzt werden kann, was auf der Synology so nicht möglich ist. Auch habe ich gelesen, dass auf Grund der Kombatibilität keine Probleme bestehen würden, was ebenfalls für Podman sprechen würde.
Daher meine Frage an die Experten, habt ihr schon Erfahrungen mit Podman gemacht und was würdet ihr auf einem VPS vorziehen; Docker oder Podman?

Ergänzung:
Was meinerseits auch für Podman spricht ist, dass ich auf dem VPS die "ufw" verwende welche Podman berücksichtigt, während Docker diese umgeht. Bei Docker könnte man (wenn ich es richtig verstanden habe) in der compose über Port-Binding dieses Problem jedoch beheben.

Vielen Dank schon mal für euer Input und Feedback!
 
Ich hab mir Podman nur mal angesehen und dann wieder beiseite gelegt. Wenn man sich den alias alias docker=podman in ~/.bash_aliases packt (und danach eine neue Shell aufmacht), dann könntest Du Podman mit den gewohnten Docker Befehlen nutzen. Hier und da sind einige Parameter anders.
Bei Podman gefällt mir vor allem die Möglichkeit, dass es rootless genutzt werden kann
Das geht mit Docker im Rootless mode auch.

Am Ende sind Docker und Podman Komfort-Wrapper um die eigentlich Container Runtimes. Docker hat noch eine zwischenschicht bevor es Container mit der Container Runtime runc (in Go geschrieben) erzeugen lässt. Podman lässt die Container direkt von crun (in C geschrieben) erzeugen. Der Performancevorteil von C ist an der Stelle egal, da nach der Erzeugung die Container Runtime nichts mehr zu tun hat, ausser einen Shim für den Container-Prozess zu erzeugen.
was auf der Synology so nicht möglich ist
Da ist so einiges nicht möglich. Die Docker Version, die der aktuelle Container Manager im Bauch mitbringt, hatte bei Docker schon keinen Support mehr, bevor Synology das erste Paket damit herausgebracht hat. Syno hat ihr Docker dezent verbogen, sodass man es nicht mal eben durch ein Vanilla Docker ersetzen kann.

Bei Docker könnte man (wenn ich es richtig verstanden habe) in der compose über Port-Binding dieses Problem jedoch beheben.
Das hat nichts mit Compose zu tun, sondern damit, dass man Container-Ports auch mit <host-ip>:<host-port>:<container-port> publishen kann. Docker Compose und docker cli sind beide nur Clients für die Docker API vom Backend. Das eine erlaubt dir Yaml-Dateien für die Konfiguration von Ressourcen zu verwenden, dass andere will es als Kommandozeilen-Argument. Es lassen sich beinahe all cli-args in eine Compose-Konfiguration überführen und auch umgekehrt.

Docker und ufw's Wege die Firewall zu konfigurieren sind tatsächlich inkompatibel zueinander.

Was hält Dich davon ab Podman einfach auszuprobieren? Am Endes des Tages sind Container Wegwerf-Instanzen. Dauerhaft zu speichernde Daten liegen in Volumes oder Binds - wenn Du lezteres verwendest kannst Du ohne viel Mühe zwischen Podman und Docker wechseln (man muss ggf. den Owner der Verzeichnisse und Dateien anpassen). Rootless Docker ist etwas weniger komfortabel in der Verwaltung der Netzwerke und der Nutzung der Volumes. Ich würde erwarten, dass es sich bei Podman ähnlich verhalten sollte.

Auch ein Rootfull Docker kann man gut abhärten: userns mapping aktivieren, Dateibasierten docker socket deaktivieren, docker api über tcp und tls zwei Wege Authentifizierung auf Basis von Zertifikaten einsetzen.

Lustigerweise gibt es auch eine podman-compose :) Und Podman kann etwas das Docker nicht kann: Pods laufen lassen. Quasi eine Isolationshülle in der mehrere Container laufen (so wie bei Kubernetes). Es gibt schon szenarien wo das praktisch sein kann. Bspw. Pod mit Webserver ohne https als Container und ein Sidecar Container im selben Pod, der per Localhost mit dem Webserver im anderen Container desselben Pods kommunizieren kann - sowas gibt es bei Docker nicht.
 
Zuletzt bearbeitet:
Moin,
Aktuell bin ich dabei einen VPS aufzusetzen, auf welchen ich über einen Site to Site Tunnel (Wireguard) von der FB darauf zugreifen kann. Zugriff auf den VPS erfolgt nur über den Tunnel.
->
Daher meine Frage an die Experten, habt ihr schon Erfahrungen mit Podman gemacht und was würdet ihr auf einem VPS vorziehen; Docker oder Podman?
zum einen kann ich mich @Confluencer nur anschliessen (probier es aus!), zum anderen... never touch a running system? Ich persönlich würde da - in Deiner Situation - (erstmal) wieder auf Docker gehen. Warum? Weil Du es schon im Einsatz hattest und Erfahrungen damit sammeln konntest. Heisst nicht, dass ich hier etwas gegen Podman sage - da wäre der Status aber wohl erstmal "Ausprobieren und schauen wohin die Reise geht". Wenn Du auf Deiner Syno auch virtualisieren kannst, mach Dir eine kleine VM mit dem OS Deiner Wahl und probier dort podman einfach aus - so mache ich sowas jedenfalls immer (halt nicht auf dem NAS, aber eben eine vollwertige VM, die kann man dann im Zweifel auch einfach wieder komplett wegschmeissen, ohne sich irgendwas versaut zu haben).

Wenn es so ist, wie Du sagst (nur via VPN erreichbar), dann dürfte Dein VPS ja sowieso nur via SSH erreichbar sein und somit kommt auch niemand an die Container. Heisst halt auch: "Wenn" jemand auf das System gelangt (via SSH) ist das Kind sowieso schon mächtig tief in den Brunnen gefallen. Vorteil bei der VPS-Lösung ist dazu, dass der Zugriff dann nicht auf Deinem NAS stattfindet (wo sicherlich noch einige Daten mehr liefen). Auf meinem NAS läuft daher auch nichts in diese Richtung, für Docker und sonstigen Spielkram nutze ich andere Hardware.

Also aus meiner Sicht: Erstmal die Migration mit Docker (sollte ja auch flott gehen), dann podman ausprobieren und dann ggf. den Schwenk von Docker zu podman.
 

Letzte Anleitungen

Statistik des Forums

Themen
8.186
Beiträge
80.835
Mitglieder
8.931
Neuestes Mitglied
dapkdapk
Zurück
Oben