Einleitung
Erste Schritte mit Podman führt Sie in eine moderne, leichtgewichtige Container-Engine ein, die als sichere und rootlose Alternative zu Docker konzipiert ist. Im Gegensatz zu Docker benötigt Podman keinen zentralen Daemon und bietet Entwicklern und Systemadministratoren, die Container verwalten, mehr Sicherheit und Flexibilität. Seine rootlose Architektur ist besonders attraktiv für Umgebungen, in denen die Minimierung von Privilegienerweiterungen Priorität hat.
In dieser Anleitung behandeln wir die Grundlagen der Installation und Verwendung von Podman auf Ubuntu Server 22.04. Wir gehen auch auf ein häufiges Problem beim Herunterladen von Container-Images mit Kurznamen ein (z. B.nginx) und bieten eine klare Lösung, damit Sie Podman reibungslos in Betrieb nehmen können.

Frühere Artikel:
01. Einführung in Ubuntu Server – SysOSX: AI & Cloud
02. So richten Sie Ihren ersten Ubuntu Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud
03.Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud
05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud
07.Patchen und Aktualisieren von Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud
08. Ihren Ubuntu Server sichern: Praktische Schritte zur Härtung und zum Schutz – SysOSX: AI & Cloud
09. Überwachung und Protokollierung von Ubuntu Server
10. Tools zur Systemüberwachung für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud
12. Audit und Compliance für Ubuntu Server: Bewährte Verfahren – SysOSX: AI & Cloud
14. Mehrere Websites auf einem einzigen Ubuntu Server hosten: Nützliche Tipps – SysOSX: AI & Cloud
15. Speicher- und Datenträgerverwaltung auf Ubuntu Server: Einfacher Leitfaden – SysOSX: AI & Cloud
17. Einrichten eines sicheren Datenbankservers unter Ubuntu: MySQL vs. MariaDB – SysOSX: AI & Cloud
21. Erste Schritte mit LXD: Container einfach installieren + Spickzettel – SysOSX: AI & Cloud
Inhaltsverzeichnis
Was ist Podman und warum sollte man es verwenden?
Podman ist eine Container-Engine zum Erstellen, Ausführen und Verwalten von Containern mit Schwerpunkt auf Sicherheit und Flexibilität. Darum wird Podman immer beliebter:
- Daemonlose Architektur: Podman ist nicht auf einen Hintergrunddienst angewiesen (im Gegensatz zu Dockers daemonbasiertem Modell), wodurch Angriffsflächen reduziert und die Sicherheit verbessert werden.
- Rootlose Container: Führen Sie Container als Nicht-Root-Benutzer aus, um die Sicherheit weiter zu erhöhen.
- Docker-kompatible Befehle: Die Podman-CLI ist so konzipiert, dass sie mit Docker kompatibel ist, sodass Sie Befehle wie
podman pulloderpodman runnahtlos verwenden können. - Systemd-Integration: Verwalten Sie Container ganz einfach als Systemdienste.
Schritt 1: Podman auf Ubuntu Server 22.04 installieren
1.1 System aktualisieren
Stellen Sie vor der Installation von Podman sicher, dass Ihr System aktualisiert ist, um Kompatibilitätsprobleme zu vermeiden:
sudo apt update && sudo apt upgrade -y
1.2 Podman installieren
Podman ist in den Standard-Repositories von Ubuntu enthalten, sodass Sie es direkt mit dem Paketmanager apt installieren:
sudo apt install podman -y
1.3 Installation überprüfen
Überprüfen Sie nach der Installation die installierte Podman-Version, um sicherzustellen, dass sie einsatzbereit ist:
podman --version
Beispielausgabe:
podman version 3.4.4
Schritt 2: Ihren ersten Podman-Container ausführen
2.1 Ein Container-Image herunterladen
Podman verwendet Container-Images zum Ausführen von Anwendungen. Laden Sie zunächst das leichtgewichtige Alpine-Linux-Image herunter:
podman pull alpine
2.2 Einen Container ausführen
Führen Sie einen Container mit dem Alpine-Image aus:
podman run --rm -it alpine sh
Dieser Befehl startet eine interaktive Shell im Alpine-Container. Sie können grundlegende Befehle testen, zum Beispiel:
echo "Hello from Podman!"
2.3 Den Container verlassen
Um den Container zu verlassen, geben Sie Folgendes ein:
exit
Schritt 3: Die Kurznamenauflösung von Podman verstehen
Das Problem mit Kurznamen
Beim Herunterladen von Container-Images mit Kurznamen (z. B.nginx) muss Podman wissen, in welcher Registry nach dem Image gesucht werden soll. Ohne die richtige Konfiguration kann der folgende Fehler auftreten:
Error: short-name "nginx" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"
Warum tritt dieser Fehler auf?
Podman benötigt eine Konfigurationsdatei (registries.conf), um die Container-Registrys zu definieren, in denen nach Images gesucht werden soll. Wenn diese Datei fehlt oder falsch konfiguriert ist, kann Podman Kurznamen wie nginx nicht auflösen.
Schritt 4: Den Fehler bei der Kurznamenauflösung beheben
4.1 Die Datei registries.conf finden oder erstellen
Die Datei registries.conf befindet sich normalerweise unter /etc/containers/registries.conf. Prüfen Sie, ob die Datei existiert:
ls /etc/containers/registries.conf
Falls sie nicht existiert, erstellen Sie sie:
sudo nano /etc/containers/registries.conf
4.2 Standard-Registry-Konfiguration hinzufügen
Fügen Sie der Datei die folgende Konfiguration hinzu:
[registries.search]
registries = ['docker.io', 'quay.io']
docker.io: Verweist auf Docker Hub, die am häufigsten verwendete Container-Registry.quay.io: Eine weitere beliebte Container-Registry.
Speichern Sie die Datei und beenden Sie sie (Ctrl+O, dann Ctrl+X, wenn Sie nano verwenden).
4.3 Den Pull-Befehl erneut ausführen
Versuchen Sie mit der vorhandenen Registry-Konfiguration, das Image nginx erneut herunterzuladen:
podman pull nginx
Podman sollte den Kurznamen nginx nun in docker.io/library/nginx auflösen und das Image erfolgreich herunterladen.
Schritt 5: Container als Nicht-Root-Benutzer ausführen
Eine der herausragenden Funktionen von Podman ist die Möglichkeit, Container ohne Root-Rechte auszuführen. So richten Sie das ein:
5.1 Zu einem Nicht-Root-Benutzer wechseln
Melden Sie sich als normaler Benutzer an (z. B.uadmin):
su - uadmin
Überprüfen Sie, ob Podman für den Nicht-Root-Benutzer funktioniert:
podman info
5.2 Berechtigungsprobleme für Nicht-Root-Benutzer beheben
Wenn beim Ausführen von Podman als Nicht-Root-Benutzer ein Fehler permission denied auftritt, liegt das wahrscheinlich an den falschen Besitzrechten des Home-Verzeichnisses des Benutzers.
Überprüfen Sie die Besitzrechte des Home-Verzeichnisses:
ls -ld /home/uadmin
Wenn das Verzeichnis root gehört, beheben Sie das Problem:
sudo chown -R uadmin:uadmin /home/uadmin
Erstellen Sie manuell das erforderliche Verzeichnis .local:
mkdir -p /home/uadmin/.local/share/containers
sudo chown -R uadmin:uadmin /home/uadmin/.local
Testen Sie Podman erneut:
podman info
Podman sollte nun als Nicht-Root-Benutzer erfolgreich funktionieren.
Schritt 6: Nützliche Podman-Befehle für Anfänger
Hier sind einige wichtige Podman-Befehle für den Einstieg:
- Laufende Container auflisten:
podman ps
- Alle Container auflisten (einschließlich gestoppter):
podman ps -a
- Einen laufenden Container stoppen:
podman stop <container-id>
- Einen Container entfernen:
podman rm <container-id>
- Ein Image entfernen:
podman rmi <image-name>
Referenzdokumentation:
Erste Schritte mit Podman | Podman
Fazit
Podman ist eine sichere, leichtgewichtige und flexible Container-Engine, die perfekt für Ubuntu Server 22.04 geeignet ist. In dieser Anleitung haben wir Folgendes behandelt:
- Podman installieren.
- Ihren ersten Container ausführen.
- Den Fehler bei der Kurznamenauflösung beheben.
- Container als Nicht-Root-Benutzer ausführen.
Wenn Sie diese Schritte befolgen, haben Sie nun eine solide Grundlage, um Podman zu erkunden und Container effektiv zu verwalten. Mit seinen rootlosen Funktionen und der Docker-kompatiblen CLI ist Podman ein hervorragendes Tool für moderne Containerisierungs-Workflows.
Bleiben Sie dran:
Im nächsten Artikel sprechen wir über Bereitstellung von Ubuntu Server auf Cloud-Plattformen , wie GCP, AWS und Azure.