Guide des technologies

Installer et utiliser Podman sur Debian 11

5 min read Conteneurs Mis à jour 22 Oct 2025
Installer et utiliser Podman sur Debian 11
Installer et utiliser Podman sur Debian 11

Capture d'écran de Podman sur Debian 11

Podman est un moteur de conteneurs compatible OCI, sans démon central. Ce guide explique comment l’installer sur Debian 11, ajouter un registre OCI, télécharger une image Debian, lancer un conteneur, l’inspecter et le supprimer. Les commandes essentielles sont incluses pour démarrer rapidement.

Important: Podman peut fonctionner en mode rootless (sans droits root) mais ce guide part d’une installation classique sur un serveur avec un compte root disponible.

Introduction rapide

Podman (POD MANager) est un moteur de conteneurs compatible OCI développé par Red Hat. Il gère images, conteneurs et volumes via une interface en ligne de commande. Contrairement à Docker, Podman n’exige pas de démon en arrière-plan pour exécuter les conteneurs. Il s’appuie sur la bibliothèque libpod pour orchestrer l’écosystème des conteneurs.

Définition: OCI — Open Container Initiative, standard pour images et runtimes de conteneurs.

Prérequis

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

Installer Podman

Le paquet Podman est disponible dans le dépôt par défaut de Debian 11. Installez-le avec :

apt-get install podman -y

Vérifiez la version de Podman :

podman --version

Exemple de sortie attendue :

podman version 3.0.1

Obtenez des informations détaillées sur l’installation :

podman info

Exemple (abrégé) de sortie fournie par podman info :

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
  kernel: 5.10.0-8-amd64
  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
    seccompEnabled: true
    selinuxEnabled: false

Ajouter un registre OCI

Podman lit la configuration des registres dans /etc/containers/registries.conf. Éditez ce fichier pour déclarer les registres ou les blocages :

nano /etc/containers/registries.conf

Ajoutez les lignes suivantes si nécessaire :

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

Sauvegardez et fermez le fichier.

Remarque: n’ajoutez un registre insecure (non sécurisé) que pour des environnements de test.

Utilisation de base de Podman

Les commandes suivantes montrent comment télécharger une image Debian, lancer un conteneur et l’inspecter.

Pour récupérer l’image Debian :

podman pull debian

Extrait de sortie :

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

Listez les images téléchargées :

podman images

Sortie attendue :

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

Lancez un conteneur Debian en arrière-plan (détaché) :

podman run -dit debian:latest

Exemple de sortie — ID du conteneur :

f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103

Listez les conteneurs en cours d’exécution :

podman ps

Sortie exemple :

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

Inspectez un conteneur par son ID (abrégé ou complet) :

podman inspect f85c4df5ab78

Extrait de la sortie JSON :

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

Consultez les logs du conteneur :

podman logs f85c4df5ab78

Pour ouvrir un shell interactif dans le conteneur :

podman exec -it f85c4df5ab78 /bin/bash

Exemple d’invite à l’intérieur du conteneur :

root@f85c4df5ab78:/#

Pour sortir du shell :

root@f85c4df5ab78:/# exit

Arrêter et supprimer un conteneur

Pour arrêter un conteneur en cours :

podman stop f85c4df5ab78

Affichez tous les conteneurs (y compris arrêtés) :

podman ps -a

Exemple de sortie :

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

Supprimez un conteneur arrêté :

podman rm f85c4df5ab78

Commandes rapides sur le dernier conteneur :

podman stop --latest
podman start --latest
podman rm --latest

Supprimer tous les conteneurs (force) :

podman rm -f `podman ps -aq`

Supprimer une image :

podman rmi 827e5611389a

Exemple de sortie :

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

Bonnes pratiques et sécurité

Important: limitez les accès réseau et utilisez des images officielles ou signées. Préférez l’exécution rootless pour réduire la surface d’attaque lorsque c’est possible.

  • Utilisez des images minimales et maintenues.
  • Vérifiez les signatures d’images si votre workflow l’exige.
  • Activez AppArmor/SELinux selon vos politiques.

Comparaison rapide : Docker vs Podman

  • Architecture : Docker utilise un démon (dockerd). Podman n’a pas de démon central.
  • Compatibilité : Les commandes de base sont compatibles (podman remplace souvent docker sans changement majeur de CLI).
  • Rootless : Podman offre un mode rootless plus simple par design.
  • Intégration : Docker a un écosystème riche (Docker Compose). Podman peut utiliser podman-compose ou générer des fichiers systemd.

Quand Podman est moins adapté :

  • Si votre pipeline CI/CD repose fortement sur des APIs du démon Docker non couvertes par des équivalents Podman.
  • Si un outil tiers exige explicitement le socket Docker sans adaptation.

Checklist par rôle

Admin système

  • Installer podman via apt.
  • Vérifier podman –version et podman info.
  • Configurer /etc/containers/registries.conf.

Développeur

  • Utiliser podman run/exec pour tester localement.
  • Valider les images locales via podman images et podman inspect.

Opérations/CI

  • Vérifier compatibilité des scripts CI avec rootless.
  • Prévoir fallback si un outil exige le socket Docker.

Dépannage courant

  • Erreur de permission : essayez en root ou passez en mode rootless correctement configuré.
  • Image non trouvée : vérifiez /etc/containers/registries.conf et le nom d’image complet (docker.io/library/…).
  • Service socket manquant : contrôlez /run/podman/podman.sock et les permissions.

Glossaire (1 ligne chacun)

  • Conteneur : unité d’exécution légère isolant une application et ses dépendances.
  • Image : fichier immuable utilisé pour créer des conteneurs.
  • OCI : spécification standard des images et runtimes de conteneurs.

Ressources supplémentaires

Guide détaillé officiel : Getting Started with Podman: Manage Images, Containers and Volumes

Conclusion

Ce guide vous a montré comment installer et utiliser Podman sur Debian 11. Vous savez maintenant télécharger une image, lancer et inspecter un conteneur, lire ses logs et le supprimer. Podman est une alternative solide à Docker, en particulier si vous souhaitez éviter un démon central ou utiliser des workflows rootless.

Résumé final : Podman fonctionne comme Docker pour la plupart des usages courants, mais offre des avantages architecturaux (pas de démon) et de sécurité (rootless). Testez vos outils CI/CD pour garantir la compatibilité avant migration.

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE