Introduction à Podman

Introduction

Contexte

Depuis 2013 avec l'arrivée de Docker, les déploiements se font de plus en plus avec cette méthode d'empaqueter une application avec ses dépendances dans une unité isolée et portable.

Docker a joué un rôle central dans cette adoption, mais son architecture repose sur un daemon centralisé tournant avec les privilèges root. Ce choix technique, acceptable pour du développement local, pose des questions dans les environnements de production soumis à des contraintes de sécurité.

L'Open Container Initiative

En 2015, Docker et d'autres acteurs ont fondé l'Open Container Initiative (OCI) sous l'égide de la Linux Foundation. L'objectif était de standardiser les formats d'images et les runtimes de conteneurs pour éviter un verrouillage technologique.

Cette standardisation a permis l'émergence d'outils alternatifs capables de manipuler les mêmes images et d'exécuter les mêmes conteneurs. Podman s'inscrit dans cette mouvance.

Qu'est-ce que Podman

Podman (Pod Manager) est un moteur de conteneurs développé par Red Hat. Il permet de créer, exécuter et gérer des conteneurs conformes aux spécifications OCI.

Sa particularité principale est l'absence de daemon. Chaque commande Podman s'exécute comme un processus indépendant qui invoque directement le runtime. Cette architecture élimine le point de défaillance unique que représente le daemon Docker et simplifie le modèle de sécurité.

Podman fait partie d'un écosystème plus large maintenu par le projet Containers, qui comprend également Buildah (construction d'images), Skopeo (manipulation d'images distantes) et CRI-O (runtime pour Kubernetes).

Pourquoi Podman

Plusieurs facteurs motivent l'adoption de Podman :

  • Le mode rootless permet d'exécuter des conteneurs sans privilèges root, réduisant la surface d'attaque
  • L'absence de daemon simplifie l'administration et améliore la résilience
  • L'intégration native avec systemd facilite la gestion des conteneurs comme services
  • La compatibilité avec la CLI Docker permet une migration progressive
  • Le support natif des pods aligne l'environnement de développement avec Kubernetes

Podman est l'outil de conteneurisation par défaut sur Fedora et RHEL, ce qui garantit sa maintenance à long terme.