Podman ist ein Ersatz für Docker und wird auf Red Hat Systemen seit der Version 8 als Standard gegenüber Docker eingesetzt. Podman bietet eine elegante und ausgereifte Möglichkeit Nutzer im Rootless Modus laufen zu lassen.
Hast du diesen Artikel gelesen, bist du in der Lage Podman + docker-compose mit einem normalen Nutzer auszuführen und verstehst das Prinzip von Rootless-Modus.
Was ist der Rootless-Modus?
Rootless-Modus bedeutet, dass ein Nutzer ohne administrative Rechte einen Container-Infrastruktur in einem limitierten, geschützten Rahmen ausführen kann/darf.
Dem Nutzer ist es z.B. nur erlaubt bestimmte Ports zu benutzen und er oder die Container können nicht auf sensible andere Verzeichnisse zugreifen. Er ist sozusagen in seinem Zimmer eingesperrt – was er da macht ist den Eltern (Admins) (fast) egal, wenn ihr versteht ;).
Welche Vorteile hat ein Rootless-Modus?
Der wohl wichtigste Vorteil ist die Sicherheit für das System. Ein Container im Rootless-Modus hat nur eingeschränkte Rechte und sollte dieser Container kompromittiert (z.B. gehackt) worden sein, hält sich der Schaden auf das restliche System in Grenzen. Ein weitere Vorteil ist die strikte Trennung von Ressourcen – jeder Nutzer hat seine eigenen Container und sieht auch nur seine eigenen gestarteten Container, es kommt z.B. zu keinen Konflikten mit Namen oder Netzwerken.
Welche Nachteile hat ein Rootless-Modus?
Der wohl größte Nachteil ist bei vielen Nutzern die Übersicht als Administrator zu behalten, weil jeder gestartete Container eines Nutzer nur in der jeweiligen User-Session* angeschaut werden kann. Auch nicht zu unterschätzen ist der initiale Aufwand am Anfang – es ist nicht nur damit getan Container zu installieren und hochzufahren, sondern es muss das Prinzip von Rootless (richtig) verstanden werden, bevor es eingesetzt werden kann/sollte.
Anleitung Podman mit docker-compose rootless einsetzen
- Installiere docker-compose nach der offiziellen Anleitung für das System
- Installiere Podman nach der offiziellen Anleitung für dein System
- Installiere auf deinem System das podman-docker Paket
- Wechsel zu einem normalen User und starte den Socket-Service
- systemctl enable –now –user podman.socket
- Führe den folgenden Befehl aus und schreibe diesen in die .bashrc, damit es bei Aufbau einer neuen Sitzung automatisch ausgeführt wird
- export DOCKER_HOST=“unix:$XDG_RUNTIME_DIR/podman/podman.sock“
- Fertig, jetzt kannst du docker-compose mit Podman einsetzen, viel Spaß 🙂
Hinweis: Startest du deinen Rechner neu, kann es sein, dass du Punkt 4 neu ausführen musst. Punkt 5 sollte durch den Hinweis abgegolten sein.
Schreibe einen Kommentar