GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Podman come alternativa Docker su Debian 11

Podman (POD MANager) è un motore container conforme a OCI, sviluppato da Red Hat come sostituto di Docker. Viene utilizzato per gestire ed eseguire contenitori, immagini e volumi tramite un'interfaccia a riga di comando. Sia Docker che Podman sono software simili. L'unica differenza è che Podman non richiede un demone per eseguire i container, mentre Docker ha bisogno del daemon Docker Engine. Podman utilizza la libreria libpod per gestire un intero ecosistema di container.

In questo tutorial, ti mostreremo come installare e utilizzare Podman su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Sul server è configurata una password di root.

Installa Podman

Il pacchetto Podman è incluso nel repository predefinito di Debian 11. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install podman -y

Una volta installato Podman, verifica la versione Podman utilizzando il comando seguente:

podman --version

Dovresti vedere la versione Podman nel seguente output:

podman version 3.0.1

Puoi ottenere maggiori informazioni su Podman usando il seguente comando:

podman info

Otterrai il seguente output:

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

Aggiungi registro OCI

Podman utilizza il file di configurazione del registro /etc/containers/registries.conf per estrarre tutte le immagini del contenitore da Internet. Quindi dovrai modificarlo e definire il registro:

nano /etc/containers/registries.conf

Aggiungi le seguenti righe alla fine del file:

[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 = [ ]

Salva e chiudi il file quando hai finito.

Come utilizzare Podman

In questa sezione, ti mostreremo come utilizzare il comando Podman per estrarre immagini ed eseguire un container.

Per estrarre un'immagine Debian, esegui il seguente comando:

podman pull debian

Otterrai il seguente output:

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

Puoi vedere l'immagine scaricata usando il seguente comando:

podman images

Otterrai il seguente output:

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

Quindi, esegui un contenitore dall'immagine Debian usando il seguente comando:

podman run -dit debian:latest

Otterrai il seguente output:

f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103

Puoi elencare tutti i container in esecuzione usando il seguente comando:

podman ps

Dovresti vedere il seguente output:

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

Per ispezionare il contenitore in esecuzione, esegui il comando Podman specificando l'ID contenitore:

podman inspect f85c4df5ab78

Otterrai il seguente output:

[
    {
        "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
            }
        },

Per controllare il registro del contenitore, esegui il comando seguente:

podman logs f85c4df5ab78

Se vuoi connetterti al container in esecuzione, esegui il comando seguente:

podman exec -it f85c4df5ab78 /bin/bash

Entrerai nella shell del contenitore come mostrato di seguito:

[email protected]:/#

Per uscire dalla shell del contenitore, esegui il seguente comando:

[email protected]:/# exit

Come fermare e rimuovere un container

Puoi anche utilizzare Podman per avviare, interrompere e rimuovere un container.

Per interrompere un container in esecuzione, esegui il comando seguente:

podman stop f85c4df5ab78

Ora puoi verificare il contenitore interrotto utilizzando il seguente comando:

podman ps -a

Dovresti vedere il seguente output:

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

Per rimuovere un container fermo, esegui il seguente comando:

podman rm f85c4df5ab78

Se desideri arrestare l'ultimo contenitore, esegui il comando seguente:

podman stop --latest

Per avviare l'ultimo contenitore, esegui il comando seguente:

podman start --latest

Per rimuovere l'ultimo contenitore, esegui il seguente comando:

podman rm --latest

Per rimuovere tutti i contenitori in esecuzione, esegui il comando seguente:

podman rm -f `podman ps -aq`

Per rimuovere un'immagine, esegui il seguente comando:

podman rmi 827e5611389a

Otterrai il seguente output:

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

Conclusione

Nel post precedente, abbiamo spiegato come installare e utilizzare Podman su Debian 11. Ora puoi utilizzare Podman in sostituzione di Docker per eseguire e gestire i container.


Debian
  1. Come installare Docker su Debian 10 Buster

  2. Come installare osquery su Debian 10

  3. Come installare Podman come alternativa Docker su Debian 11

  4. Come installare Docker Engine su Debian 11

  5. Come installare WildFly su Debian 11

Come installare Docker su Debian 10

Come installare Docker su Debian 11

Come installare JDownloader su Debian

Come installare Docker su Debian 9 Stretch

Come installare Bitwarden su Debian 11

Come installare Docker CE su Debian 11