Docker vs. Podman vs. Co

smashcb

Lieutenant
Registriert
Aug. 2018
Beiträge
694
Hi

die Aufgabe war/ist einen Server aufzusetzen mit Forum, Nextcloud, etc ... für Verein usw.

Jetzt hab ich das "vor Jahren" einmal aenlich mit Docker gelöst, hab aber eigentlich schon wieder alles vergessen, weil ich es danach nicht mehr gebraucht hab.

Hab jetzt im Zeitungsladen von Heise C'T "Docker&Co " gekauft und da steht über zwei 2-3 ein Artikel wie toll Podman im Vergleich zu Docker ist.

Jetzt stellt sich mir aber die Frage, warum es im restlichen Heft dann hauptsaechlich um docker geht ?

Mit was würdet ihr jetzt anfangen ? Docker doch lieber Podman ? Was ganz anderes ? Ich muss eh bei fast 0 Anfangen, aber dann wenigstens nicht auf das "falsche Pferd" setzen.

Vielleicht könnt ihr ja eure Erfahrungen teilen :)

Edit : ein Gedanken der mir gerade kommt, es sollte möglichst einfach zu verstehen sein, vor allem Konfig usw. durchaus möglich das ich nicht immer derjenige bin, der sich darum kümmern muss :D
 
Podman hat wurde kompatibel zur Syntax von Docker gebaut - kann man recht gut zwischen her wechseln.

Warum wird noch hauptsächlich über Docker geschrieben ? Naja der 0815-Entwickler interessiert sich eben nicht für die Schwächen von Docker und so lange es läuft, sieht der 0815-Entwickler keinen Grund zu wechseln. Das wird dauern bis Podman im Mainstream ankommt.
 
AFAIK ist der Unterschied vor allem, dass Podman daemonless läuft.
Bei Docker hat jeder User der Zugriff auf der Docker hat, praktisch Root Zugriff auf den Server.

Inwiefern das für dich relevant ist, kannst nur du sagen.
 
Also würdet ihr zu Podman greifen ?

Inwiefern das für mich interessant ist ? Ja am besten wäre es natürlich, ich setze das alles auf und muss mich danach garnicht bis relativ wenig um das Ganze kümmern.
Mir ist klar, dasss dies nicht der Fall sein wird, aber ein bisschen mehr Sicherheit wäre da natürlich nicht verkehrt.
 
Hattest du dir diesen Artikel von heise durchgelesen?

Die beiden größten Unterschiede sind:
1. Podman läuft Daemon-Less, Container hat also nur die Rechte, die er wirklich benötigt.
2. Pods sind zentraler Bestandteil von Podman, bei Docker sind es die Container selbst. So hat jeder Container bei Podman automatisch noch ein Infrastructure-Container dabei, der das Ressourcenmanagement für seine Container innerhalb des Pods übernimmt.

Und da man sich bei der Entwicklung von Podman an der Docker-Syntax orientiert hat, ist der Umstieg ziemlich leicht.
Ich empfehle aber auch, direkt Podman zu nehmen, wenn man "bei Null beginnt".
Ergänzung ()

smashcb schrieb:
Ja am besten wäre es natürlich, ich setze das alles auf und muss mich danach garnicht bis relativ wenig um das Ganze kümmern.

Wenn du dich um gar nichts mehr kümmern möchtest, könntest du sogar bis zur Orchestrierung mit Kubernetes gehen. Das System läuft deskriptiv, ist also selbstheilend, sollte ein Pod mal runterfallen.
Mit den richtigen Tools kriegste da sogar ein ordentliches Patchmanagement hin.
 
  • Gefällt mir
Reaktionen: madmax2010
Telvanis schrieb:
Wenn du dich um gar nichts mehr kümmern möchtest, könntest du sogar bis zur Orchestrierung mit Kubernetes gehen. Das System läuft deskriptiv, ist also selbstheilend, sollte ein Pod mal runterfallen.
Mit den richtigen Tools kriegste da sogar ein ordentliches Patchmanagement hin.
Ja schön mit Kanonen auf Spatzen. Wir sehen OP dann in 3 Monaten wieder, bis er K8s halbwegs beherrscht.
 
  • Gefällt mir
Reaktionen: Ebrithil, e_Lap und madmax2010
k8s macht spaß und ist toll, aber da ist nextcloud in einem Verein nicht so ganz der usecase :D
 
Telvanis schrieb:
Wenn du dich um gar nichts mehr kümmern möchtest, könntest du sogar bis zur Orchestrierung mit Kubernetes gehen. Das System läuft deskriptiv, ist also selbstheilend, sollte ein Pod mal runterfallen.
Mit den richtigen Tools kriegste da sogar ein ordentliches Patchmanagement hin.

Gerade wenn man wieder bei 0 anfängt, holt man sich mit K8s aber eher probleme ins Haus. Es ist einfach nochmal ne Ecke komplexer und deshalb für unerfahrene Leute eher ein Sicherheitsrisiko.
Gerade wenn es eh nur einen Node gibt, gehts auch gut ohne orchestrierung.
 
  • Gefällt mir
Reaktionen: Raijin, e_Lap und madmax2010
Das ist richtig. Ich wollte es aber trotzdem mal erwähnt haben, für den Fall, das OP richtig Langeweile hat Ü
 
  • Gefällt mir
Reaktionen: smashcb, madmax2010 und NJay
smashcb schrieb:
Also würdet ihr zu Podman greifen ?
Ganz gewiss nicht. Wie steht es eigentlich um das Äquivalent zu docker-compose? Podman wird hochgelobt, ist aber nur ansatzweise eine Alternative und bei meiner letzten "Durchsicht" war compose zwar vorhanden, konnte aber gefühlt über 50 % der Features nicht.

Docker hat einen Daemon laufen, ja. Die Container selbst können aber problemlos mit User Namespacing rootless laufen. Auch reicht man nicht den Docker Socket einfach an Container durch. Den Daemon selbst kann man auch rootless betreiben. Man muss sich dann nur halt damit rumschlagen, dass man evtl. in Probleme gerät, wenn was bei seiner Software nicht bedacht wurde.

Bspw. der offizielle Bitwarden Server bzw. Installer lässt sich mit User Namespaces nicht betreiben. Gitlab hat Probleme mit den Runnern. Teilweise ist Software darauf vorbereitet, teilweise gibt es Configs, Workarounds, whatever um das Problem zu umschiffen, aber es geht nicht bei allen. Wie sieht es bei Podman eigentlich bzgl. der Restart Policy von Containern aus?

IMHO: Alternative, kein Ersatz. Die WSL in Windows ist auch kein Ersatz für ein richtiges Linux-System bzw. eine direkte VM.
 
Ich würde sagen, grundsätzlich sind Podman und Docker aus reiner Nutzersicht so ählich, dass es für kleine Projekte wie die Nextcloud eines Vereins erstmal egal ist, welches der beiden man nimmt. Vielmehr sollte man die grundlegenden Konzepte von Containern verstehen. In zwei Jahren die Konfigurationen dann z.B. von Docker auf Podman zu ändern, ist kein großer Akt und schnell gemacht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: smashcb, snaxilian und Raijin
Yuuri schrieb:
Wie sieht es bei Podman eigentlich bzgl. der Restart Policy von Containern aus?

Dafür kann Podman per Befehl alle Container als systemd Service anlegen. In dem Service File kann alles mit PreStart, Start, PostStart usw. geregelt werden, auch Abhängigkeiten kann man mit Wants regeln. Wenn es nur um Docker vs Podman geht, würde ich also zu Podman greifen, ootb sicherer und alles was ich brauche ist in den Repos drin, muss also keine Software auf dem Host selbst kompilieren und pflegen.

Allerdings fehlt Podman eben sowas wie Compose, das ist natürlich dann schade. Podman zielt eher auf Kompatibilität mit Kuberbetes o.Ä. ab, was aber für so ein Deployment Overkill ist, außer man hat Spaß daran sich in K8s, bzw. Minikube, K3s oder Microk8s usw. einzuarbeiten.

Leichter ist es mit Docker, da gibt es zig Tutorials im Netz wie man Nextcloud mit docker-compose aufsetzt, das ist schnell gemacht. Podman hat allerdings imho technisch große Vorteile gegenüber Docker und möglich wäre das Setup auch ohne Compose, wenn auch aufwändiger im Setup und vermutlich auch der Wartung.
 
Zurück
Oben