Wie man Podman unter CentOS 8 installiert und verwendet
Podman ist ein kostenloses, quelloffenes und Linux-eigenes Tool, das zum Ausführen, Erstellen, Freigeben und Bereitstellen von Anwendungen in Containern verwendet wird. Es ermöglicht die Verwaltung von Containern und Images sowie von Volumes, die in diese Container eingebunden sind. Podman ist eine daemonlose Containerisierungs-Engine und erfreut sich unter Entwicklern als Ersatz für Docker immer größerer Beliebtheit.
In diesem Beitrag zeigen wir dir, wie du Podman auf CentOS 8 installierst und verwendest.
Voraussetzungen
- Ein Server, auf dem CentOS 8 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Podman installieren
Zuerst musst du das EPEL-Repository auf deinem System installieren. Du kannst es mit dem folgenden Befehl installieren:
dnf install epel-release -y
Nach der Installation des EPEL-Repo führst du den folgenden Befehl aus, um Podman zu installieren:
dnf install podman -y
Sobald Podman installiert ist, überprüfe die installierte Version von Podman mit dem folgenden Befehl:
podman --version
Du solltest die folgende Ausgabe sehen:
podman version 3.0.2-dev
Um detaillierte Informationen zu erhalten, führe den folgenden Befehl aus:
podman info
Du solltest die folgende Ausgabe sehen:
host: arch: amd64 buildahVersion: 1.19.8 cgroupManager: systemd cgroupVersion: v1 conmon: package: conmon-2.0.26-3.module_el8.4.0+830+8027e1c4.x86_64 path: /usr/bin/conmon version: 'conmon version 2.0.26, commit: 9dea73702793340168deaa5a0d21ca5ce1fcb5d7' cpus: 2 distribution: distribution: '"centos"' version: "8" eventLogger: file hostname: centos8 idMappings: gidmap: null uidmap: null kernel: 4.18.0-193.6.3.el8_2.x86_64 linkmode: dynamic memFree: 479723520 memTotal: 4130037760 ociRuntime: name: runc package: runc-1.0.0-73.rc93.module_el8.4.0+830+8027e1c4.x86_64 path: /usr/bin/runc version: |- runc version spec: 1.0.2-dev go: go1.15.7 libseccomp: 2.4.1 os: linux
Image mit Podman finden und herunterladen
Um ein Debian-Image zu finden, führe den folgenden Befehl aus:
podman search debian
Du solltest alle verfügbaren Debian-Images in der folgenden Ausgabe sehen:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/library/debian Debian is a Linux distribution that's compos... 3894 [OK] docker.io docker.io/smartentry/debian debian with smartentry 6 [OK] docker.io docker.io/library/ubuntu Ubuntu is a Debian-based Linux operating sys... 12423 [OK] docker.io docker.io/samueldebruyn/debian-git a minimal docker container with debian and g... 22 [OK] docker.io docker.io/i386/debian Debian is a Linux distribution that's compos... 14 docker.io docker.io/jdub/debian-sources-resource Concourse CI resource to check for updated D... 0 [OK] docker.io docker.io/itscaro/debian-ssh debian:jessie 28 [OK] docker.io docker.io/eboraas/debian Debian base images, for all currently-availa... 8 [OK] docker.io docker.io/amd64/debian Debian is a Linux distribution that's compos... 6 docker.io docker.io/arm32v7/debian Debian is a Linux distribution that's compos... 72 docker.io docker.io/dockershelf/debian Repository for docker images of Debian. Test... 1 [OK] docker.io docker.io/ppc64le/debian Debian is a Linux distribution that's compos... 4 docker.io docker.io/arm64v8/debian Debian is a Linux distribution that's compos... 26 docker.io docker.io/spritsail/debian-builder A Docker image based on debian:slim ideal fo... 1 [OK] docker.io docker.io/arm32v5/debian Debian is a Linux distribution that's compos... 2 docker.io docker.io/vpgrp/debian Docker images of Debian. 2 docker.io docker.io/multiarch/debian-debootstrap multiarch ports of debian-debootstrap 13 docker.io docker.io/1and1internet/debian-9-nginx-php-7.2-wordpress-4 debian-9-nginx-php-7.2-wordpress-4 0 [OK] docker.io docker.io/mdoerges/debian-buster-nginx Debian Buster with Nginx 0 docker.io docker.io/fleshgrinder/debian Debian base images for production and multis... 0 [OK] docker.io docker.io/s390x/debian Debian is a Linux distribution that's compos... 2 docker.io docker.io/vicamo/debian Debian docker images for all versions/archit... 3 docker.io docker.io/konstruktoid/debian Debian base image 0 [OK] docker.io docker.io/casept/debian-amd64 A debian image built from scratch. Mostly fo... 0 docker.io docker.io/vergissberlin/debian-development Docker debian image to use for development, ... 6 [OK]
Als Nächstes lädst du das Debian-Image mit dem folgenden Befehl herunter:
podman pull debian
Du solltest die folgende Ausgabe erhalten:
Resolved "debian" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf) Trying to pull docker.io/library/debian:latest... Getting image source signatures Copying blob 0bc3020d05f1 done Copying config 7a4951775d done Writing manifest to image destination Storing signatures 7a4951775d157843b47250a2a5cc7b561d2abe0b29ae6f19737a04635302eacf
Überprüfe das heruntergeladene Image mit dem folgenden Befehl:
podman images
Du solltest die folgende Ausgabe erhalten:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 7a4951775d15 33 hours ago 119 MB
Einen Container mit Podman starten
Jetzt kannst du mit dem folgenden Befehl einen Container aus dem Debian-Image starten:
podman run -dit --name debian-container debian
Du solltest die folgende Ausgabe erhalten:
5fb79d2ff9748be9474977852db989d4de489546526683e840c501249823a4bf
Du kannst den laufenden Container auch mit dem folgenden Befehl überprüfen:
podman ps
Du solltest die folgende Ausgabe sehen:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5fb79d2ff974 docker.io/library/debian:latest bash 29 seconds ago Up 28 seconds ago debian-container
Um den laufenden Container zu verbinden, führe den folgenden Befehl aus:
podman attach debian-container
Sobald du verbunden bist, solltest du die folgende Ausgabe erhalten:
root@5fb79d2ff974:/#
Du kannst auch jeden beliebigen Befehl innerhalb des laufenden Containers ausführen:
root@5fb79d2ff974:/# apt-get update
Um den Debian-Container zu verlassen, führe den folgenden Befehl aus:
root@5fb79d2ff974:/# exit
Um das Log des laufenden Containers zu überprüfen, führe den folgenden Befehl aus:
podman logs -f debian-container
Um den laufenden Container anzuhalten, führe den folgenden Befehl aus:
podman stop debian-container
Um den gestoppten Container zu entfernen, führe den folgenden Befehl aus:
podman rm debian-container
Pods mit Podman verwalten
In diesem Abschnitt zeigen wir dir, wie du Pods mit Podman verwalten kannst.
Um einen neuen Pod mit dem Namen Webserver zu erstellen, führe den folgenden Befehl aus:
podman pod create --name webserver
Du solltest die folgende Ausgabe erhalten:
9cc9b2bdcfe1b774129f2d5b50a4b52c746a0f8917780ae7f2c786fa7767cd19
Um alle Pods aufzulisten, führe den folgenden Befehl aus:
podman pod list
Du solltest die folgende Ausgabe erhalten:
POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS 9cc9b2bdcfe1 webserver Created 21 seconds ago 3a0c7750fed9 1
Um einen laufenden Container innerhalb deines Pods zu überprüfen, führe den folgenden Befehl aus:
podman ps -a --pod
Du solltest die folgende Ausgabe erhalten:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 3a0c7750fed9 registry.access.redhat.com/ubi8/pause:latest 38 seconds ago Created 9cc9b2bdcfe1-infra 9cc9b2bdcfe1 webserver
Um einen neuen CentOS-Container zu einem Pod hinzuzufügen, führe den folgenden Befehl aus:
podman run -dt --pod webserver centos:latest top
Du solltest die folgende Ausgabe erhalten:
Resolved "centos" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf) Trying to pull quay.io/centos/centos:latest... Getting image source signatures Copying blob 7a0437f04f83 done Copying config 300e315adb done Writing manifest to image destination Storing signatures fcd9a724097759c29330bd57e557eab9778b3d6736695ebf9afedfbd9c0db5e3
Überprüfe nun den hinzugefügten Container mit folgendem Befehl:
podman ps -a --pod
Du solltest die folgende Ausgabe erhalten:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME 3a0c7750fed9 registry.access.redhat.com/ubi8/pause:latest About a minute ago Up 16 seconds ago 9cc9b2bdcfe1-infra 9cc9b2bdcfe1 webserver fcd9a7240977 quay.io/centos/centos:latest top 17 seconds ago Up 16 seconds ago recursing_goldwasser 9cc9b2bdcfe1 webserver
Fazit
In der obigen Anleitung hast du gelernt, wie du Podman installierst und verwendest, um Container unter CentOS 8 zu verwalten. Podman ist Docker sehr ähnlich und ein großartiger Ersatz, der dir die Arbeit erleichtert.