Podman auf Linux Ubuntu 22.04 installieren und Container ausführen (Anleitung)

In dieser Anleitung installieren wir Podman, auch unter dem Namen „Pod-Manager“ bekannt, auf einen Server mit Linux Ubuntu 22.04. Podman gilt als moderne und freie Alternative für die Docker-Software, da sie in puncto Sicherheit nicht auf Root-Rechte angewiesen ist und ohne den Docker-Daemon auskommt. 

Red Hat Enterprise Linux hat die Docker-Engine selbst erst in diesem Jahr aufgrund von Unstimmigkeiten mit den Entwicklern verbannt, und empfiehlt fortan die Verwendung von Podman für die Containervirtualisierung. Jeglicher Support seitens RHEL wurde aus mehreren Gründen eingestellt. 

Auf der Kommandozeile können die Docker-Commands exakt wie gewohnt übernommen werden, da die Syntax identisch ist. Ich gehe darauf später noch einmal etwas genauer ein und zeige dir neben der Installation von Podman auch einige Befehle für die Administration.

Möchtest du mehr über den aktuellen Wechsel in der Container-Welt und die Gründe für den Umstieg und die Etablierung von Podman erfahren, kann ich dir diesen Beitrag von den Kollegen vom Linux-Magazin empfehlen.

Inhaltsverzeichnis: Installation von Podman auf Linux Ubuntu 22.04 mit einer Anleitung für die Verwaltung von Containern

Was ist Podman?

Podman Ubuntu Installation

Podman ist eine Open-Source-Software zum Erstellen, Ausführen und Verwalten von OCI-Containern. Populäre Container-Registrierungen aus dem offiziellen Docker-Hub und Quay.io sind mit Podman problemlos möglich. Auch YAML-Dateien für Kubernetes können erstellt und intuitiv bedient werden. Die Software ist Bestandteil der libpod-Bibliothek und nach der Installation vollständig kompatibel mit Docker-Containern.

Alle Images aus dem Docker Hub lassen sich nahtlos mit Podman verwenden. Für einen leichten Einstieg in die Container-Administration mit Podman haben sich die Entwickler dazu entschieden, Befehle, die mit der Docker Engine möglich sind, auch unter Podman zu implementieren. Möchten wir alle Docker-Befehle wie gewohnt anwenden können, lässt sich das mit einem Alias-Command sehr einfach realisieren.

Ein Alias kann bei Bedarf wie folgt eingerichtet werden:

alias docker=podman

Beispiele der Syntax zwischen Docker und Podman:

docker pull image

podman pull image

Docker vs. Podman: Die größten Unterschiede zwischen den beiden Container-Lösungen

Podman kann nicht nur dasselbe wie Docker, sondern benötigt für den Dienst auch erheblich weniger Speicherplatz im Vergleich zum Platzhirsch. Unter Administratoren gilt Podman daher als schneller und vergleichsweise effizienter. 

So ist es nicht verwunderlich, dass Podman der neue Standard für viele Linux Distributionen wie RHEL, CentOS, CoreOS und Fedora geworden ist. Durch den Verzicht auf die Root-Berechtigungen gilt Podman zusätzlich auch als sicherer, da das Host-System geschützt bleibt und Prozesse ohne Root-Berechtigungen nicht auf den Kernel zugreifen können.

Podman auf Linux Ubuntu/Debian installieren (Schritt-für-Schritt-Anleitung)

Podman Installation für Linux Ubuntu und Debian mit Tutorial

In diesem Abschnitt beginnen wir mit der Installation von Podman. Wie bereits erwähnt, gehört die quelloffene Software bereits zur Default-Lösung der meisten Linux Distributionen. So kann die Installation direkt aus dem offiziellen Repository über das Terminal erfolgen.

Paketquellen Aktualisieren:

Bevor wir Podman installieren, empfiehlt es sich, die Paketquellen und die bestehende Software zu aktualisieren, das kann mit dem folgenden Befehl erfolgen:

sudo apt update && sudo apt upgrade

Podman installieren:

Wurden die Aktualisierungen erfolgreich durchgeführt? Beginne mit der Installation von Podman auf Linux Ubuntu mit diesem Befehl:

sudo apt install podman -y

Installation verifizieren:

Sobald Podman erfolgreich auf deinen Linux-Server installiert wurde, kannst du die Version mit dem folgenden Befehl validieren:

podman -v

Container-Images über das Internet beziehen und mit Podman ausführen

Möchten wir Container-Images aus dem Internet beziehen und mit Podman ausführen, ist es ratsam, Konfigurationen an der Podman-Registry-Datei vorzunehmen und die Suchquellen manuell hinzuzufügen.

Verwende den Nano-Editor und öffne die nachfolgende Datei mit dem folgenden Befehl:

nano /etc/containers/registries.conf

Füge diese Zeilen in die Datei (registries.conf) ein:

[registries.search]

registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]

Speichere die Änderungen ab (STRG+S) und verlasse den Nano-Editor wieder (STRG+X). Jetzt können wir gezielt nach bestimmten Images (Software, Dienste und Anwendungen) suchen und diese mit nur einem einzigen Befehl auf unserem Host-System als Container implementieren.

Podman Images suchen und herunterladen: Search- und Pull-Befehl (Beispiel)

Nach der erfolgreichen Installation und Konfiguration können wir mit Podman Container aus dem Internet suchen, herunterladen und ausführen. Das funktioniert relativ einfach, wie ich in diesem Beispiel zeigen möchte.

Ein Container-Image suchen (Search-Befehl):

podman search [Begriff]

Beispiel: podman search nextcloud

Podman Befehle für die Installation eines Images von Docker-Hub

Anschließend wird uns eine Liste mit allen gefunden Images ausgegeben (Ausgabe):

Möchten wir ein Image aus dem Internet beziehen, gelingt uns das mit dem pull-Befehl. Um am Beispiel festzuhalten, beziehe ich im nächsten Schritt den offiziellen Nextcloud-Container von docker.io

Image herunterladen:

podman pull nextcloud
Ein Image mit dem Pull-Befehl herunterladen

Wie auf dem Screenshot ersichtlich, erhalten wir nun einige Auswahlmöglichkeiten. Nach einer getroffenen Auswahl wird das selektierte Image heruntergeladen. Ist der Download abgeschlossen, können wir den Images-Befehl verwenden, um den Download zu verifizieren.

Podman Images ausgeben:

podman images
Vorhandene Images im Terminal ausgeben

Jetzt müssen wir nur noch einen Container mit dem soeben heruntergeladenen Container-Image an den Start bringen. Dafür verwenden wir den bereits aus dem Docker-Universum bekannten run-Befehl.

Container mit dem Image ausführen:

podman run -dit --name nextcloud-container nextcloud

Sobald der Container mit Podman gestartet wurde, können wir mit dem folgenden Befehl überprüfen, ob der Container ausgeführt wird.

Container-Laufzeit anzeigen:

podman ps
Podman Ubuntu installieren

Möchtest du dich mit dem Container verbinden, um Konfigurationen vorzunehmen oder zusätzliche Anwendungen und Dienste zu installieren, kannst du den attach-Befehl verwenden.

Verbindung mit einem Podman-Container herstellen:

podman attach nextcloud-container

Es folgen weitere nützliche Befehle für die Administration und Verwaltung von Container und Images unter Podman:

Einen Container stoppen:

podman stop nextcloud-container

Einen Container starten:

podman start nextcloud-container

Einen Container entfernen (löschen):

podman rm nextcloud-container

Ein heruntergeladenes Image löschen:

podman rmi nextcloud

Listenansicht mit allen verfügbaren Befehlen für Podman anzeigen (Hilfe):

podman --help

Installation von Podman auf ein Linux-Host-System abgeschlossen: Zusammenfassung und Fazit

In dieser Anleitung habe ich dir die größten Unterschiede zwischen Docker und Podman kurz erklärt. Wir haben die Open-Source-Software auf Linux Ubuntu 22.04 installiert und die Möglichkeit konfiguriert, über die Shell nach Images zu suchen und diese für die Containerisierung herunterzuladen. Wir haben ein Beispiel-Images (Dockerfile) in den Betrieb genommen und zusätzlich einige Befehle für die Administration kennengelernt.

Wer bereits mit der Docker-Umgebung und der allgemeinen Syntax für die Verwaltung von Containern vertraut ist, wird mit Podman genauso gut zurechtkommen. Ob sich Podman als Nachfolger für Docker in Zukunft etabliert, bleibt abzuwarten. Vermutlich wird es in produktiven Umgebungen immer häufiger Wechsel von Docker auf die Lösung mit Podman geben. Bis dahin ist von einer Co-Existenz auszugehen.

Umstieg von einer produktiven Docker-Infrastruktur:

Die Migration von Docker zu Podman gestaltet sich in der Praxis vergleichsweise einfach. Das ist darauf zurückzuführen, da die Befehle unterm Strich größtenteils identisch sind und die Images von Docker in der Regel ohne Ausnahme kompatibel sind. Verwendest du noch alte Skripts, die gängige Docker-Kommandozeilenbefehle integriert haben, kannst du einfach einen Alias unter Linux anlegen und die Skripts direkt für Podman übernehmen.

Planst du einen Umzug von einer produktiven Docker-Umgebung zu Podman, kannst du alle Container sichern und z.B. über NFS auf den neuen Server kopieren [Anleitung für die Installation und Einrichtung von NFS für Linux-Server]. Verwende die üblichen Befehle, um einen Container zu migrieren, auszuführen, auf deinem Host zu verwalten.

4 Kommentare on “Podman auf Linux Ubuntu 22.04 installieren und Container ausführen (Anleitung)

  1. Hallo habe die anweisungen für Podman
    befolgt.

    und bekomme bei dem Podman pull xPaketX
    folgende fehlermeldung.

    Error: open /etc/containers/policy.json: no such file or ditectory

    diese datei ist an dem angegebenen ort auch nicht vorhanden.

    was kann ich da machen???

  2. Ich habe das Problem, dass sich die /etc/containers/registries.conf Datei nicht abspeichern lässt (permission denied). Ohne die vorgegebenen Einträge in diese Datei läuft aber das Ganze nicht. Wie lässt sich diese bearbeitete Datei abspeichern?

    1. @Siegfried Die Datei muss durch root gespeichert werden. Alle anderen User haben nicht das Recht dazu (Permission denied). Entweder sudo vor das Kommando für Deinen Editor schreiben (Beispiel siehe Ingos Post) oder vorher mit su root werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert