GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Podman als Docker-Alternative unter Debian 11

Podman (der POD MANager) ist eine OCI-konforme Container-Engine, die von Red Hat als direkter Ersatz für Docker entwickelt wurde. Es wird verwendet, um Container, Images und Volumes über eine Befehlszeilenschnittstelle zu verwalten und auszuführen. Sowohl Docker als auch Podman sind ähnliche Software. Der einzige Unterschied besteht darin, dass Podman keinen Daemon zum Ausführen von Containern benötigt, während Docker den Docker Engine-Daemon benötigt. Podman verwendet die libpod-Bibliothek, um ein ganzes Container-Ökosystem zu verwalten.

In diesem Tutorial zeigen wir Ihnen, wie Sie Podman unter Debian 11 installieren und verwenden.

Voraussetzungen

  • Ein Server mit Debian 11.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Podman installieren

Das Podman-Paket ist im Standard-Repository von Debian 11 enthalten. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

apt-get install podman -y

Überprüfen Sie nach der Installation von Podman die Podman-Version mit dem folgenden Befehl:

podman --version

Sie sollten die Podman-Version in der folgenden Ausgabe sehen:

podman version 3.0.1

Weitere Informationen zu Podman erhalten Sie mit dem folgenden Befehl:

podman info

Sie erhalten die folgende Ausgabe:

host:
  arch: amd64
  buildahVersion: 1.19.6
  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:
    distribution: debian
    version: "11"
  eventLogger: journald
  hostname: debian11
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 5.10.0-8-amd64
  linkmode: dynamic
  memFree: 3365183488
  memTotal: 4122267648
  ociRuntime:
    name: crun
    package: 'crun: /usr/bin/crun'
    path: /usr/bin/crun
    version: |-
      crun version 0.17
      commit: 0e9229ae34caaebcb86f1fde18de3acaf18c6d9a
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  os: linux
  remoteSocket:
    exists: true
    path: /run/podman/podman.sock
  security:
    apparmorEnabled: true
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    selinuxEnabled: false

OCI-Registrierung hinzufügen

Podman verwendet die Registry-Konfigurationsdatei /etc/containers/registries.conf, um alle Container-Images aus dem Internet abzurufen. Sie müssen es also bearbeiten und die Registrierung definieren:

nano /etc/containers/registries.conf

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

[registries.insecure]
registries = [ ]
# If you need to block pull access from a registry, uncomment the section below
# and add the registries fully-qualified name.
# Docker only
[registries.block]
registries = [ ]

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

So verwenden Sie Podman

In diesem Abschnitt zeigen wir Ihnen, wie Sie mit dem Podman-Befehl Bilder ziehen und einen Container ausführen.

Um ein Debian-Image abzurufen, führen Sie den folgenden Befehl aus:

podman pull debian

Sie erhalten die folgende Ausgabe:

Resolved "debian" as an alias (/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull docker.io/library/debian:latest...
Getting image source signatures
Copying blob 647acf3d48c2 done  
Copying config 827e561138 done  
Writing manifest to image destination
Storing signatures
827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc

Sie können Ihr heruntergeladenes Bild mit dem folgenden Befehl anzeigen:

podman images

Sie erhalten die folgende Ausgabe:

REPOSITORY                TAG     IMAGE ID      CREATED      SIZE
docker.io/library/debian  latest  827e5611389a  11 days ago  129 MB

Führen Sie als Nächstes einen Container aus dem Debian-Image mit dem folgenden Befehl aus:

podman run -dit debian:latest

Sie erhalten die folgende Ausgabe:

f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103

Sie können alle laufenden Container mit dem folgenden Befehl auflisten:

podman ps

Sie sollten die folgende Ausgabe sehen:

CONTAINER ID  IMAGE                            COMMAND  CREATED         STATUS             PORTS   NAMES
f85c4df5ab78  docker.io/library/debian:latest  bash     13 seconds ago  Up 13 seconds ago          competent_cori

Um den laufenden Container zu untersuchen, führen Sie den Podman-Befehl aus, indem Sie die Container-ID angeben:

podman inspect f85c4df5ab78

Sie erhalten die folgende Ausgabe:

[
    {
        "Id": "f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103",
        "Created": "2021-11-28T07:00:12.795302341Z",
        "Path": "bash",
        "Args": [
            "bash"
        ],
        "State": {
            "OciVersion": "1.0.2-dev",
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 6881,
            "ConmonPid": 6878,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-11-28T07:00:13.551753552Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "Healthcheck": {
                "Status": "",
                "FailingStreak": 0,
                "Log": null
            }
        },

Führen Sie den folgenden Befehl aus, um das Containerprotokoll zu überprüfen:

podman logs f85c4df5ab78

Wenn Sie eine Verbindung zum laufenden Container herstellen möchten, führen Sie den folgenden Befehl aus:

podman exec -it f85c4df5ab78 /bin/bash

Sie gelangen wie folgt in die Container-Shell:

[email protected]:/#

Um die Container-Shell zu verlassen, führen Sie den folgenden Befehl aus:

[email protected]:/# exit

So stoppen und entfernen Sie einen Container

Sie können Podman auch verwenden, um einen Container zu starten, zu stoppen und zu entfernen.

Führen Sie den folgenden Befehl aus, um einen laufenden Container zu stoppen:

podman stop f85c4df5ab78

Sie können den angehaltenen Container jetzt mit dem folgenden Befehl überprüfen:

podman ps -a

Sie sollten die folgende Ausgabe sehen:

CONTAINER ID  IMAGE                            COMMAND  CREATED        STATUS                       PORTS   NAMES
f85c4df5ab78  docker.io/library/debian:latest  bash     3 minutes ago  Exited (137) 10 seconds ago          competent_cori

Führen Sie den folgenden Befehl aus, um einen angehaltenen Container zu entfernen:

podman rm f85c4df5ab78

Wenn Sie den neuesten Container stoppen möchten, führen Sie den folgenden Befehl aus:

podman stop --latest

Führen Sie den folgenden Befehl aus, um den neuesten Container zu starten:

podman start --latest

Führen Sie den folgenden Befehl aus, um den neuesten Container zu entfernen:

podman rm --latest

Führen Sie den folgenden Befehl aus, um alle laufenden Container zu entfernen:

podman rm -f `podman ps -aq`

Um ein Bild zu entfernen, führen Sie den folgenden Befehl aus:

podman rmi 827e5611389a

Sie erhalten die folgende Ausgabe:

Untagged: docker.io/library/debian:latest
Deleted: 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc

Schlussfolgerung

Im obigen Beitrag haben wir erklärt, wie man den Podman unter Debian 11 installiert und verwendet. Sie können jetzt den Podman als Ersatz für Docker verwenden, um die Container auszuführen und zu verwalten.


Debian
  1. So installieren Sie Docker auf Debian 10 Buster

  2. So installieren Sie osquery unter Debian 10

  3. So installieren Sie Podman als Docker-Alternative unter Debian 11

  4. So installieren Sie die Docker-Engine unter Debian 11

  5. So installieren Sie WildFly unter Debian 11

So installieren Sie Docker unter Debian 10

So installieren Sie Docker unter Debian 11

So installieren Sie JDownloader unter Debian

So installieren Sie Docker auf Debian 9 Stretch

So installieren Sie Bitwarden unter Debian 11

So installieren Sie Docker CE unter Debian 11