Podman

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Version vom 5. Februar 2022, 15:41 Uhr von Rkr (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Diese Seite befasst sich mit '''Podman''', einer Alternative zur Docker-Umgebung, um (Docker-)Images und Container zu managen und Container laufen zu lasse…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Diese Seite befasst sich mit Podman, einer Alternative zur Docker-Umgebung, um (Docker-)Images und Container zu managen und Container laufen zu lassen. Dabei kommt Podman ohne Daemon aus und benötigt daher keine Root-Rechte. Außerdem kann Podman mit Pods (bekannt aus Kubernetes) umgehen.

Diese Seite befasst sich vor allem mit den Änderungen und Besonderheiten von Podman, wenn man damit Docker ersetzen möchte.

Management von Images und Containern

Podman ist fast vollständig befehls-kompatibel zu Docker. Man kann also genau wie bei Docker einen Container starten. Der "docker" Befehl wird nur gegen "podman" ausgetauscht.

Beispiel

podman run -d --name gitlab-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /run/podman/podman.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest

Container bei Systemstart automatisch starten

Das automatische Starten eines Containers muss wie ein normaler Service in das Linux-System eingebaut werden, da kein eigener Daemon zur Verfügung steht.

Bei systemd geht das so (Beispiel GitLab):

podman generate systemd gitlab > /etc/systemd/system/gitlab.service
systemctl daemon-reload
systemctl enable gitlab
systemctl start gitlab

Weblinks:

Podman API

Wenn Container auf die Podman API zugreifen müssen (z.B. über ein Socket), muss der Podman API Service laufen.

Ein Podman-Socket kann dann rückwärts-kompatibel zu Docker so in den Container hinein gereicht werden:

-v /run/podman/podman.sock:/var/run/docker.sock

Weblinks:

Siehe auch