So installierst du Podman unter Ubuntu 22.04
Podman, auch „Pod Manager“ genannt, ist ein Open-Source-Tool zur Erstellung und Verwaltung von Containern. Es ist Teil der libpod-Bibliothek, die nicht auf den Docker-Daemon angewiesen und mit Docker kompatibel ist. Es ist eine einfache und leichtgewichtige Container-Laufzeitumgebung für Kubernetes. Mit der jüngsten Änderung der Docker-Lizenz ist podman eine gute Alternative, die auf den meisten Linux-Systemen eingesetzt werden kann.
In diesem Tutorial zeige ich dir, wie du Podman auf einem Ubuntu 22.04 Server installierst und benutzt.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Podman auf Ubuntu 22.04 installieren
Standardmäßig ist das Podman-Paket im Ubuntu-Standard-Repository enthalten. Du kannst es installieren, indem du einfach den folgenden Befehl ausführst:
apt install podman -y
Sobald Podman installiert ist, kannst du es mit folgendem Befehl überprüfen:
podman -v
Du solltest die Podman-Version in der folgenden Ausgabe sehen:
podman version 3.4.4
Du kannst auch die detaillierten Informationen über Podman mit folgendem Befehl abrufen:
podman info
Du solltest die folgende Ausgabe erhalten:
host: arch: amd64 buildahVersion: 1.23.1 cgroupControllers: - cpuset - cpu - io - memory - hugetlb - pids - rdma - misc cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/bin/conmon' path: /usr/bin/conmon version: 'conmon version 2.0.25, commit: unknown' cpus: 2 distribution: codename: jammy distribution: ubuntu version: "22.04" eventLogger: journald hostname: ubuntu2204 idMappings:
Podman-Registrierung konfigurieren
Standardmäßig ist die Podman-Registry nicht für den Download und die Installation von Container-Images aus dem Internet konfiguriert. Deshalb musst du sie zuerst konfigurieren.
nano /etc/containers/registries.conf
Füge die folgenden Zeilen hinzu:
[registries.search] registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
Speichere und schließe die Datei, wenn du fertig bist.
Bilder mit Podman herunterladen
Mit Podman kannst du ganz einfach Images aus dem Internet suchen und herunterladen. Um zum Beispiel ein Debian-Image zu suchen, führe den folgenden Befehl aus:
podman search debian
Du solltest eine Liste aller Debian-Images in der folgenden Ausgabe erhalten:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/library/ubuntu Ubuntu is a Debian-based Linux operating sys... 14959 [OK] docker.io docker.io/library/debian Debian is a Linux distribution that's compos... 4435 [OK] docker.io docker.io/library/neurodebian NeuroDebian provides neuroscience research s... 93 [OK] docker.io docker.io/bitnami/debian-base-buildpack Debian base compilation image 2 [OK] docker.io docker.io/mirantis/debian-build-ubuntu-xenial 0 docker.io docker.io/mirantis/debian-build-ubuntu-trusty 0 docker.io docker.io/osrf/debian_arm64 Debian arm64 Base Images 1 docker.io docker.io/rancher/debianconsole 1 docker.io docker.io/dokken/debian-10 Debian 10 image for use with kitchen-dokken 0 docker.io docker.io/dokken/debian-9 Debian 9 image for kitchen-dokken 0 docker.io docker.io/ustclug/debian Official Debian Image with USTC Mirror 1 docker.io docker.io/dokken/debian-8 EOL: Debian 8 image for kitchen-dokken 0 docker.io docker.io/dokken/debian-11 Debian 11 image for use with kitchen-dokken 0 docker.io docker.io/corpusops/debian-bare https://github.com/corpusops/docker-images/ 0 docker.io docker.io/datadog/debian-i386 0 docker.io docker.io/corpusops/debian debian corpusops baseimage 0 docker.io docker.io/osrf/debian_armhf Debian Armhf Base Images 1 docker.io docker.io/treehouses/debian 2 docker.io docker.io/dokken/debian-7 EOL DISTRO: For use with kitchen-dokken, Bas... 0 docker.io docker.io/treehouses/debian-tags 0 docker.io docker.io/dokken/debian-12 0 docker.io docker.io/dockage/debian-runit Docker image uses runit as a process supervi... 2 [OK] docker.io docker.io/galaxy/debian32-wheel 0 docker.io docker.io/galaxy/debian-wheel 0 docker.io docker.io/dockage/debian Debian image that forms the base for some Do... 2 [OK]
Als Nächstes lädst du das neueste Debian-Image mit folgendem Befehl aus dem Internet herunter:
podman pull debian
Dadurch wird das neueste Debian-Image gesucht und heruntergeladen, wie unten dargestellt:
Getting image source signatures Copying blob 23858da423a6 done Copying config 43d28810c1 done Writing manifest to image destination Storing signatures 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Jetzt kannst du das heruntergeladene Image mit dem folgenden Befehl überprüfen:
podman images
Du solltest die folgende Ausgabe sehen:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 43d28810c1b4 5 days ago 129 MB
Erstellen und Verwalten von Containern mit Podman
Mit Podman kannst du Container ganz einfach über die Kommandozeile erstellen und verwalten.
Um einen Container aus dem Debian-Image zu erstellen, führe den folgenden Befehl aus:
podman run -dit --name debian-container debian
Sobald der Container erstellt ist, kannst du den laufenden Container mit dem folgenden Befehl sehen:
podman ps
Du solltest die folgende Ausgabe sehen:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 533698eaf6f1 docker.io/library/debian:latest bash 6 seconds ago Up 6 seconds ago debian-container
Um dich mit dem Debian-Container zu verbinden, führe den folgenden Befehl aus:
podman attach debian-container
Du gelangst in den Debian-Container wie unten gezeigt:
root@533698eaf6f1:/#
Du kannst die Containerversion mit dem folgenden Befehl überprüfen:
cat /etc/os-release
Du erhältst die folgende Ausgabe:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
Um den Container zu verlassen, führe den folgenden Befehl aus:
root@533698eaf6f1:/# exit
Um den Container anzuhalten, führe den folgenden Befehl aus:
podman stop debian-container
Um den Container zu starten, führe den folgenden Befehl aus:
podman start debian-container
Um den Container zu löschen, führe den folgenden Befehl aus:
podman rm debian-container
Um das Debian-Image zu löschen, führe den folgenden Befehl aus:
podman rmi debian
Du erhältst die folgende Ausgabe:
Untagged: docker.io/library/debian:latest Deleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Du kannst alle Podman-Befehlsoptionen mit dem folgenden Befehl auflisten:
podman --help
Du solltest alle nützlichen Optionen in der folgenden Ausgabe sehen:
Manage pods, containers and images Usage: podman [options] [command] Available Commands: attach Attach to a running container auto-update Auto update containers according to their auto-update policy build Build an image using instructions from Containerfiles commit Create new image based on the changed container container Manage containers cp Copy files/folders between a container and the local filesystem create Create but do not start a container diff Display the changes to the object's file system events Show podman events exec Run a process in a running container export Export container's filesystem contents as a tar archive generate Generate structured data based on containers, pods or volumes healthcheck Manage health checks on containers help Help about any command history Show history of a specified image image Manage images images List images in local storage import Import a tarball to create a filesystem image info Display podman system information init Initialize one or more containers inspect Display the configuration of object denoted by ID kill Kill one or more running containers with a specific signal load Load image(s) from a tar archive login Login to a container registry logout Logout of a container registry logs Fetch the logs of one or more containers machine Manage a virtual machine manifest Manipulate manifest lists and image indexes mount Mount a working container's root filesystem network Manage networks pause Pause all the processes in one or more containers play Play containers, pods or volumes from a structured file pod Manage pods port List port mappings or a specific mapping for the container ps List containers pull Pull an image from a registry push Push an image to a specified destination rename Rename an existing container restart Restart one or more containers rm Remove one or more containers rmi Removes one or more images from local storage run Run a command in a new container save Save image(s) to an archive search Search registry for image secret Manage secrets start Start one or more containers stats Display a live stream of container resource usage statistics stop Stop one or more containers system Manage podman tag Add an additional name to a local image top Display the running processes of a container unmount Unmounts working container's root filesystem unpause Unpause the processes in one or more containers unshare Run a command in a modified user namespace untag Remove a name from a local image version Display the Podman version information volume Manage volumes wait Block on one or more containers
Erste Schritte mit Podman
Eine detaillierte Anleitung, wie du mit Podman Images, Volumes und Container erstellen kannst, findest du hier: Erste Schritte mit Podman: Verwalten von Images, Containern und Volumes
Fazit
Glückwunsch! Du hast Podman erfolgreich auf dem Ubuntu 22.04 Server installiert. Jetzt kannst du Podman als alternatives Tool für Docker verwenden, um die Container zu verwalten. Wenn du noch Fragen hast, kannst du mich gerne fragen. Weitere Informationen über Podman findest du auf der Podman-Dokumentationsseite.