Podman Anleitung · 10 min read · Oct 05, 2025

Einsteigerleitfaden zur Installation und Verwendung von Podman auf AlmaLinux 9

Podman ist ein Linux-natives Tool zum Bereitstellen von Anwendungen mit Open Container Initiative (OCI) Containern und Container-Images. Es unterstützt mehrere Container-Image-Formate, einschließlich Docker-Images und OCI-Container-Images. Außerdem unterstützt Podman die Verwaltung von Pods und Gruppen von Containern.

Podman ist ein daemonloses Tool, das als einzelnes Binärkommando ohne einen Dienst ausgeführt wird. Es bietet eine Befehlszeile, die Docker ähnlich ist; Sie können ein Alias wie ‘alias docker=podman’ verwenden.

In diesem Leitfaden zeigen wir Ihnen, wie Sie Podman als Ersatz für Docker Engine auf einem AlmaLinux 9-Server installieren und verwenden. Sie werden einige grundlegende Anwendungen von Podman zur Verwaltung von Containeranwendungen lernen. Durch das Abschließen dieses Leitfadens werden Sie ein besseres Verständnis für die Verwendung von Podman als Container-Orchestrierung für Ihre lokale Entwicklung haben.

Voraussetzungen

Um mit diesem Leitfaden zu beginnen, müssen Sie Folgendes haben:

  • Einen AlmaLinux 9-Server - Dieses Beispiel verwendet einen Server mit dem Hostnamen ‘AlmaLinux9‘.
  • Einen Nicht-Root-Benutzer mit sudo/root Administratorrechten.

Podman installieren

Podman ist eine daemonlose und Open-Source-Container-Orchestrierung für eine schnelle Entwicklung. Podman ist eine Linux-native Anwendung und bietet eine Befehlszeilenschnittstelle, die Docker ähnlich ist.

Mit Podman können Sie Anwendungen mit OCI (Open Containers Initiative) Containern und Container-Images finden, ausführen, teilen und bereitstellen.

Auf AlmaLinux ist Podman standardmäßig im AppStream-Repository verfügbar; Sie können es mit dem DNF-Paketmanager installieren.

Führen Sie den folgenden dnf-Befehl aus, um Podman auf Ihrem AlmaLinux-Server zu installieren.

sudo dnf install podman

Geben Sie y ein, wenn Sie dazu aufgefordert werden, und drücken Sie dann ENTER.

installing podman

Da Podman daemonlos ist, können Sie es einfach ausführen, ohne einen Daemon zu starten.

Führen Sie den folgenden Befehl aus, um die Podman-Version und detaillierte Informationen zu Ihrer Installation zu überprüfen.

podman version

Unten ist eine Ausgabe der aktuellen Podman-Version während dieses Schreibens:

checking podman version

Darüber hinaus können Sie auch die Details der Podman-Installation mit dem folgenden Befehl überprüfen.

podman info

Podman als Nicht-Root-Benutzer ausführen

In diesem Abschnitt richten Sie Podman für einen Nicht-Root-Benutzer ein. Sie erstellen einen neuen Benutzer und stellen sicher, dass der neue Nicht-Root-Benutzer Container mit Podman ausführen und verwalten kann.

Führen Sie den folgenden Befehl aus, um einen neuen Benutzer namens ‘alice‘ zu erstellen und das Passwort dafür zu konfigurieren. Geben Sie ein neues Passwort ein, wenn Sie dazu aufgefordert werden, und wiederholen Sie es.

sudo useradd -m -s /bin/bash alice  
sudo passwd alice

Fügen Sie nun den neuen Benutzer ‘alice‘ zur Gruppe ‘wheel‘ hinzu. Dies ermöglicht es dem neuen Benutzer, ‘sudo‘ auszuführen und root zu werden.

sudo usermod -aG wheel alice

Führen Sie danach den folgenden Befehl aus, um das Linger für den Benutzer ‘alice’ zu aktivieren. Dies ermöglicht es dem Benutzer ‘alice’, den Containerprozess über einen längeren Zeitraum auszuführen, selbst wenn der Benutzer abgemeldet ist; der Prozess wird weiterhin ausgeführt.

sudo loginctl enable-linger alice

Melden Sie sich als neuer Benutzer ‘alice‘ mit dem folgenden Befehl an.

su - alice

create new user

Führen Sie den ‘podman‘ Befehl unten aus, um einen neuen Container mit dem Image ‘hello-world‘ auszuführen.

podman run hello-world

Wenn erfolgreich, sollten Sie eine Ausgabe wie diese erhalten:

running container hello-world

Führen Sie schließlich den folgenden ‘podman’-Befehl aus, um die Liste der laufenden und beendeten Container zu überprüfen.

podman ps -a

Wenn die Konfiguration erfolgreich ist, sollten Sie den Container mit dem Basis-Image ‘hello-world‘ mit dem Status ‘Exited‘ sehen.

Container-Images finden

Standardmäßig ruft Podman Container-Images aus mehreren Image-Registrierungen ab, wie z.B. Redhat Image-Registry, quay.io und auch DockerHub. Sie können weitere Container-Image-Registrierungen zur Konfiguration ‘/etc/containers/registries.conf’ hinzufügen.

Dieses Beispiel wird DockerHub als Container-Registry verwenden, also lassen Sie uns anfangen.

Führen Sie den folgenden Befehl aus, um neue Container-Images zu finden, die ‘httpd‘ enthalten.

podman search httpd

Unten ist eine Ausgabe, die Sie in Ihrem Terminal erhalten sollten:

searching container

Sie können die Ausgabe auch mit der Option ‘–limit‘ wie folgt einschränken.

podman search httpd --limit 3

Dies zeigt nur die drei besten Container-Images aus jeder Container-Image-Registry an.

finding images top 3

Schließlich können Sie auch die Option ‘–filter‘ wie folgt verwenden.

podman search httpd --filter=is-official

Dies zeigt Ihnen nur offizielle Container-Images.

Images herunterladen

Nachdem Sie die Container-Images gefunden haben, besteht der nächste Schritt darin, die Container-Images von Registrierungen herunterzuladen.

Führen Sie den folgenden Befehl aus, um das Image ‘httpd‘ mit dem Tag ‘alpine‘ herunterzuladen.

podman pull httpd:alpine

Wählen Sie die Image-Registry aus, die Sie verwenden möchten. Dieses Beispiel wird DockerHub verwenden.

Nachdem die Quelle ausgewählt wurde, beginnt der Download-Prozess.

pull images

Sobald der Download abgeschlossen ist, führen Sie den folgenden Befehl aus, um die verfügbaren Images auf Ihrem AlmaLinux-Server zu überprüfen.

podman images

An diesem Punkt sollten Sie, wenn erfolgreich, zwei Container-Images erhalten, das Image ‘hello-world‘ von quay.io und ‘httpd‘ von DockerHub.

Images inspizieren

Das Inspizieren von Images ist eine leistungsstarke Möglichkeit, detaillierte Informationen darüber zu erhalten, wie der Container gestartet wird. Bei Podman und Docker können Sie Images mit der Option ‘inspect’ inspizieren.

Führen Sie den folgenden Befehl aus, um detaillierte Informationen über das Image ‘httpd:alpine‘ zu erhalten.

podman inspect docker.io/library/httpd:alpine

Dies zeigt Ihnen detaillierte Informationen über die Images, wie das Erstellungsdatum, die Größe, das Standardarbeitsverzeichnis, den Startbefehl, den freigegebenen Port und vieles mehr.

detailed image

Sie können auch angeben, welchen Teil Sie überprüfen möchten, indem Sie den zusätzlichen Parameter wie folgt verwenden.

podman inspect --format "size: {{.Size}}" docker.io/library/httpd:alpine  
podman inspect --format "ports: {{.Config.ExposedPorts}}" docker.io/library/httpd:alpine  
podman inspect --format "workdir: {{.Config.WorkingDir}}" docker.io/library/httpd:alpine

Dies zeigt Ihnen die Größe des Images, den standardmäßig freigegebenen Port und das standardmäßige Arbeitsverzeichnis.

Container ausführen

In diesem Abschnitt lernen Sie, wie Sie den Container mit Podman ausführen.

Geben Sie den folgenden Befehl ein, um einen neuen Container namens ‘httpd’ auszuführen, den Port 8080 auf dem Host-Rechner freizugeben und das Image ‘httpd:alpine‘ zu verwenden. Außerdem wird der Parameter ‘–rm‘ den Container automatisch entfernen, sobald der Container gestoppt wird.

podman run -it --rm -d -p 8080:80 --name httpd docker.io/library/httpd:alpine

Wenn erfolgreich, sollten Sie die zufällige Zeichenfolge und die Nummer der neuen Container-ID erhalten.

Überprüfen Sie den laufenden Container mit dem folgenden Befehl. Sie sollten den Container ‘httpd‘ mit dem Status ‘Up‘ und dem Port 8080 auf dem Host-Rechner sehen.

podman ps

Als nächstes können Sie den Container ‘httpd’ mit dem folgenden curl-Befehl überprüfen. Stellen Sie sicher, dass Sie die IP-Adresse im folgenden Beispiel durch Ihre Server-IP-Adresse ersetzen.

curl http://192.168.5.20:8080/

Wenn erfolgreich, sollten Sie eine Ausgabe wie diese erhalten:

Darüber hinaus können Sie auch auf den Container ‘httpd’ über den Webbrowser zugreifen. Öffnen Sie Ihren Webbrowser und besuchen Sie die Server-IP-Adressen, gefolgt vom Containerport 8080 (d.h. http://192.168.5.20:8080/).

Wenn erfolgreich, sollten Sie die Standardindex.html-Seite aus dem Container ‘httpd‘ wie folgt erhalten:

Logs des Containers überprüfen

Mit dem Container ‘httpd’, der läuft, werden Sie nun die Logs des Containers überprüfen. Dies ist nützlich für das Debuggen Ihrer Anwendungen.

Um alle Logs des Containers ‘httpd‘ anzuzeigen, führen Sie den folgenden Befehl aus.

podman logs httpd

Dies ist ein Beispiel für Logs des Containers ‘httpd’.

Als nächstes können Sie die Log-Ausgabe mit dem Parameter ‘–tail‘ wie folgt reduzieren.

podman logs --tail 20 httpd

In diesem Beispiel zeigt der Parameter ‘tail 20‘ die neuesten 20 Zeilen von Logs des Containers ‘httpd‘ an.

Container stoppen

Wenn Sie den Container stoppen möchten, führen Sie einfach *podman stop* aus.

Führen Sie den folgenden Befehl aus, um den Container ‘httpd‘ zu stoppen.

podman stop httpd

Sobald der Container ‘httpd‘ gestoppt ist, führen Sie den Befehl unten aus, um die Liste der verfügbaren Container auf Ihrem System zu überprüfen.

podman ps  
podman ps -a

Der Container ‘httpd‘ wird automatisch gelöscht, nachdem der Container gestoppt wurde. Dies liegt daran, dass Sie den Container mit dem Parameter ‘–rm‘ ausgeführt haben.

Container mit benutzerdefiniertem Volume ausführen

In diesem Beispiel werden Sie einen neuen Container mit benutzerdefiniertem Volume ausführen. Dies wird das lokale Verzeichnis auf dem Host-Rechner in den Container einbinden.

Erstellen Sie ein neues ‘data‘ Verzeichnis im Home-Verzeichnis des Benutzers alice. Erstellen Sie dann eine neue ‘index.html‘ Datei im ‘data‘ Verzeichnis mit dem Nano-Editor.

mkdir -p ~/data/  
nano ~/data/index.html

Fügen Sie das folgende HTML-Skript ein.

  
  
  
    
  Willkommen im Container Nginx  
  
  
  

Hallo aus dem httpd-Container - Verwaltet mit Podman

Speichern Sie die Datei und schließen Sie sie.

Führen Sie nun den folgenden Befehl aus, um einen neuen Container ‘httpd’ mit dem benutzerdefinierten Volume des ‘data‘ Verzeichnisses auszuführen, das im Container in das Verzeichnis ‘/usr/local/apache2/htdocs‘ eingebunden wird.

podman run --privileged=true -it --rm -d -p 8080:80 --name httpd -v ~/data:/usr/local/apache2/htdocs docker.io/library/httpd:alpine

Darüber hinaus wird dieser Container mit einem zusätzlichen Parameter ‘–privileged=true‘ ausgeführt. Dies dient zu Testzwecken, und dennoch wird der Container als Benutzer ‘alice‘ und nicht als Root-Benutzer ausgeführt. Erhalten Sie weitere Informationen zu privilegierten Flags in Podman.

Führen Sie als nächstes den folgenden Befehl aus, um den laufenden Container auf Ihrem System zu überprüfen.

podman ps

Wenn erfolgreich, sollten Sie den neuen Container ‘httpd‘ mit dem Status ‘Up‘ und dem freigegebenen Port 8080 auf dem Host-Rechner sehen.

Führen Sie den curl-Befehl unten aus, um den neuen Container ‘httpd‘ zu überprüfen.

curl http://192.168.5.21:8080/

Sie sollten eine Ausgabe des index.html-Skripts erhalten, das Sie zuvor erstellt haben.

accessing container

Wie im Webbrowser unter http://192.168.5.21:8080/ sollten Sie die benutzerdefinierte Seite wie folgt angezeigt bekommen:

access container

In den Container einloggen

Mit dem laufenden Container ‘httpd‘ können Sie über die Shell auf den Container zugreifen, indem Sie den Befehl ‘podman exec‘ verwenden.

Melden Sie sich mit dem folgenden Befehl im Container ‘httpd‘ an. Dies wird die Shell ‘/bin/sh‘ im Container ‘httpd‘ ausführen und an Ihre aktuelle Sitzung anhängen.

podman exec -it httpd /bin/sh

Sobald Sie eingeloggt sind, sollten Sie sich im Verzeichnis ‘WorkingDir‘ befinden. In diesem Beispiel ist das Standardarbeitsverzeichnis das ‘/usr/local/apache2‘ Verzeichnis.

Führen Sie nun den folgenden Befehl im Container ‘httpd‘ aus. Überprüfen Sie den aktuellen Benutzer, die lokale IP-Adresse des Containers und das Standardgateway für den Container.

id  
  
ip a  
route -n

Sie haben möglicherweise eine Ausgabe mit einer anderen IP-Adresse und einem anderen Gateway, aber sie sollte ähnlich wie folgt aussehen:

accessing container

Pod erstellen und verwalten

In Podman können Sie einen Pod erstellen und ausführen. Der Pod ist eine Hülle für Container, was bedeutet, dass mehrere Container in einem einzigen Pod ausgeführt werden können. Wie in Kubernetes ist der Pod die kleinste Einheit, in der Ihre Anwendung ausgeführt wird.

Mit Podman können Sie einen Pod erstellen und ausführen, auch ohne Kubernetes.

Führen Sie den folgenden Befehl aus, um einen neuen Pod httpdTest mit dem Image ‘httpd:alpine‘ zu erstellen und den Port 9090 auf dem Host-Rechner freizugeben.

podman run -dt --pod new:httpdTest -p 9090:80 docker.io/library/httpd:alpine

Wenn erfolgreich, sollten Sie die zufällige Zeichenfolge und die Nummer der Pod-ID erhalten.

Führen Sie nun den folgenden Befehl aus, um den laufenden Pod auf Ihrem System zu überprüfen.

podman pod ls

Sie sollten den Pod ‘httpdTest‘ mit dem Status ‘Running‘ und 2 Containern sehen.

create pod

Sie können jetzt die Option ‘inspect‘ für den Pod wie folgt nutzen.

podman pod inspect httpdTest

Sie sollten detaillierte Informationen über den Pod httpdTest erhalten.

podman inspect pod

Sie können auch die Anzahl der Container überprüfen, die innerhalb der Pods ausgeführt werden, einschließlich der Namen der Container, mit dem folgenden Befehl.

podman pod inspect --format="containers: {{.NumContainers}}" httpdTest  
podman pod inspect --format "{{.Containers}}" httpdTest

Sie erhalten eine Ausgabe wie diese:

Führen Sie schließlich den folgenden Befehl aus, um auf den Pod httpdTest zuzugreifen, der auf dem Port 9090 auf dem Host-Rechner ausgeführt wird. Wenn erfolgreich, sollten Sie die Standardindex.html-Seite der Container, die im Pod httpdTest ausgeführt werden, erhalten.

curl http://192.168.5.21:9090/

Fazit

Herzlichen Glückwunsch! Sie haben jetzt Podman auf AlmaLinux 9 installiert. Sie haben auch die grundlegende Verwendung von Podman zur Verwaltung von Images und Containern gelernt. Darüber hinaus haben Sie auch gelernt, wie man einen Pod mit Podman erstellt und ausführt.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.