GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Podman comme alternative à Docker sur Debian 11

Podman (le POD MANager) est un moteur de conteneur compatible OCI, développé par Red Hat en remplacement de Docker. Il est utilisé pour gérer et exécuter des conteneurs, des images et des volumes via une interface de ligne de commande. Docker et Podman sont des logiciels similaires. La seule différence est que Podman n'a pas besoin d'un démon pour exécuter des conteneurs, tandis que Docker a besoin du démon Docker Engine. Podman utilise la bibliothèque libpod pour gérer tout un écosystème de conteneurs.

Dans ce tutoriel, nous allons vous montrer comment installer et utiliser Podman sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Installer Podman

Le paquet Podman est inclus dans le dépôt par défaut de Debian 11. Vous pouvez l'installer en exécutant simplement la commande suivante :

apt-get install podman -y

Une fois le Podman installé, vérifiez la version du Podman à l'aide de la commande ci-dessous :

podman --version

Vous devriez voir la version de Podman dans la sortie suivante :

podman version 3.0.1

Vous pouvez obtenir plus d'informations sur Podman en utilisant la commande suivante :

podman info

Vous obtiendrez le résultat suivant :

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

Ajouter un registre OCI

Podman utilise le fichier de configuration du registre /etc/containers/registries.conf pour extraire toutes les images de conteneurs d'Internet. Il vous faudra donc l'éditer et définir le registre :

nano /etc/containers/registries.conf

Ajoutez les lignes suivantes à la fin du fichier :

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Comment utiliser Podman

Dans cette section, nous allons vous montrer comment utiliser la commande Podman pour extraire des images et exécuter un conteneur.

Pour extraire une image Debian, exécutez la commande suivante :

podman pull debian

Vous obtiendrez le résultat suivant :

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

Vous pouvez voir votre image téléchargée en utilisant la commande suivante :

podman images

Vous obtiendrez le résultat suivant :

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

Ensuite, exécutez un conteneur à partir de l'image Debian à l'aide de la commande suivante :

podman run -dit debian:latest

Vous obtiendrez le résultat suivant :

f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103

Vous pouvez répertorier tous les conteneurs en cours d'exécution à l'aide de la commande suivante :

podman ps

Vous devriez voir le résultat suivant :

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

Pour inspecter le conteneur en cours d'exécution, exécutez la commande Podman en spécifiant l'ID du conteneur :

podman inspect f85c4df5ab78

Vous obtiendrez le résultat suivant :

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

Pour vérifier le journal du conteneur, exécutez la commande suivante :

podman logs f85c4df5ab78

Si vous souhaitez vous connecter au conteneur en cours d'exécution, exécutez la commande suivante :

podman exec -it f85c4df5ab78 /bin/bash

Vous entrerez dans le shell du conteneur comme indiqué ci-dessous :

[email protected]:/#

Pour quitter le shell du conteneur, exécutez la commande suivante :

[email protected]:/# exit

Comment arrêter et supprimer un conteneur

Vous pouvez également utiliser Podman pour démarrer, arrêter et supprimer un conteneur.

Pour arrêter un conteneur en cours d'exécution, exécutez la commande suivante :

podman stop f85c4df5ab78

Vous pouvez maintenant vérifier le conteneur arrêté à l'aide de la commande suivante :

podman ps -a

Vous devriez voir le résultat suivant :

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

Pour supprimer un conteneur arrêté, exécutez la commande suivante :

podman rm f85c4df5ab78

Si vous souhaitez arrêter le dernier conteneur, exécutez la commande suivante :

podman stop --latest

Pour démarrer le dernier conteneur, exécutez la commande suivante :

podman start --latest

Pour supprimer le dernier conteneur, exécutez la commande suivante :

podman rm --latest

Pour supprimer tous les conteneurs en cours d'exécution, exécutez la commande suivante :

podman rm -f `podman ps -aq`

Pour supprimer une image, exécutez la commande suivante :

podman rmi 827e5611389a

Vous obtiendrez le résultat suivant :

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

Conclusion

Dans le post ci-dessus, nous avons expliqué comment installer et utiliser le Podman sur Debian 11. Vous pouvez désormais utiliser le Podman en remplacement de Docker pour exécuter et gérer les conteneurs.


Debian
  1. Comment installer Docker sur Debian 10 Buster

  2. Comment installer osquery sur Debian 10

  3. Comment installer Podman comme alternative à Docker sur Debian 11

  4. Comment installer Docker Engine sur Debian 11

  5. Comment installer WildFly sur Debian 11

Comment installer Docker sur Debian 10

Comment installer Docker sur Debian 11

Comment installer JDownloader sur Debian

Comment installer Docker sur Debian 9 Stretch

Comment installer Bitwarden sur Debian 11

Comment installer Docker CE sur Debian 11