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.

Das könnte dich auch interessieren …