Kennisbank › Container Alternatieven › containerd : Podman et alternatives
container alternatieven starter 28 August 2026

containerd : Podman et alternatives

containerd et Podman : runtimes et moteurs de conteneurs sous Linux

containerd a été admis par la CNCF au statut Incubating le 29 mars 2017. Le 28 février 2019, le projet a atteint le statut Graduated — le plus élevé au sein de la CNCF. Cela signifie que containerd est prêt pour la production, dispose d'une communauté de développeurs saine et joue un rôle reconnu dans l'infrastructure cloud-native.

containerd n'est pas un orchestrateur comme Kubernetes, mais la couche qui exécute réellement les conteneurs sur le système d'exploitation hôte. Kubernetes fonctionne par défaut avec containerd depuis la version 1.20.

Installer containerd

Installez containerd via le gestionnaire de paquets :

sudo apt update && sudo apt install containerd -y

Sur les systèmes basés sur RHEL, utilisez dnf :

sudo dnf install containerd -y

Configurer containerd

La configuration de containerd se fait via un fichier TOML, généralement placé dans `/etc/containerd/config.toml`. Si ce fichier n'existe pas, containerd utilise les paramètres par défaut.

Générez la configuration par défaut :

sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml

La configuration contient des paramètres globaux comme `root` (pour le stockage des données de conteneurs) et `state` (pour les données de runtime), ainsi que des sections pour des composants spécifiques comme `[grpc]` et `[debug]`. L'interface GRPC définit l'adresse du socket (`/run/containerd/containerd.sock`) utilisée pour la communication avec les clients.

Démarrez containerd comme service :

sudo systemctl enable --now containerd

Podman : moteur de conteneurs sans démon

Podman est un moteur de conteneurs développé par Red Hat, disponible dans RHEL 7.6 et versions ultérieures. Les premières versions publiques sont apparues en 2018, avec la version stable 1.0.0 le 16 janvier 2019. Podman est compatible avec les normes de l'Open Container Initiative (OCI) et utilise les mêmes images de conteneurs que Docker.

Podman est sans démon : il exécute les conteneurs directement comme des processus ordinaires sous l'utilisateur qui les lance. Cela élimine un risque de sécurité — une attaque escaladée sur un démon central comme `dockerd` pourrait sinon donner accès à tout le système.

Red Hat positionne Podman comme alternative à Docker lorsque la sécurité, la séparation des UID et l'intégration à systemd sont importantes. La séparation des UID permet aux conteneurs de fonctionner sous l'identité de l'utilisateur qui les lance, sans sudo ni droits root. Podman s'intègre à systemd, ce qui permet aux conteneurs de fonctionner comme des services système avec démarrage automatique.

Installer Podman

Installez Podman via le gestionnaire de paquets :

sudo apt update && sudo apt install podman -y

Sur les systèmes basés sur RHEL :

sudo dnf install podman -y

Utiliser Podman

Démarrez un conteneur avec Podman :

podman run --name nginx-test -d -p 8080:80 nginx:1.25

Affichez les conteneurs actifs :

podman ps

Podman ne contient pas son propre runtime. Il utilise des runtimes compatibles OCI comme `runc`. Cela rend Podman flexible : il combine une interface de type Docker avec la sécurité d'une architecture sans démon.

Podman Desktop

Le 23 mai 2023, Red Hat a lancé Podman Desktop 1.0, une interface graphique pour gérer les conteneurs sans terminal. Podman Desktop s'intègre aux instances Podman locales et distantes et affiche les conteneurs, images et pods actifs.

Le 21 janvier 2025, Podman Desktop et Podman Container Tools ont été officiellement acceptés par la CNCF au statut Sandbox. Ce statut reconnaît les projets comme prometteurs, mais à un stade précoce d'adoption.

Installez Podman Desktop via Flatpak :

flatpak install flathub io.podman_desktop.PodmanDesktop -y

containerd contre Podman : le choix

containerd est un runtime : une couche utilisée par d'autres systèmes pour exécuter des conteneurs. Il est souvent invisible pour l'utilisateur final et fonctionne comme partie intégrante de piles plus vastes comme Kubernetes.

Podman est un moteur avec une interface utilisateur et une CLI, destiné à une utilisation directe par les développeurs et administrateurs. Il peut fonctionner avec containerd, mais fonctionne aussi sans lui.

Le choix dépend du cas d'utilisation. containerd est idéal pour les clusters de production où la stabilité et la standardisation sont essentielles. Podman est plus performant dans les environnements de développement et les systèmes où la sécurité et l'isolation des utilisateurs sont importantes.

Alternatives dans l'écosystème des conteneurs

Outre containerd et Podman, il existe d'autres runtimes et outils de conteneurs :

Vérification

Vérifiez que containerd fonctionne correctement :

sudo systemctl status containerd
sudo ctr version

Vérifiez Podman :

podman --version
podman info

Testez si vous pouvez exécuter un conteneur :

podman run hello-world

Problèmes fréquents

Problème : containerd ne démarre pas après l'installation
Vérifiez que la configuration est valide : sudo containerd config check. Supprimez un fichier de configuration endommagé avec sudo rm /etc/containerd/config.toml et redémarrez.

Problème : Podman ne peut pas tirer d'images
Vérifiez l'accès réseau aux registries : podman pull docker.io/library/nginx:1.25. En cas de problèmes DNS, ajoutez dns à /etc/containers/registries.conf.

Problème : Podman rootless donne des erreurs de permission
Installez slirp4netns et fuse-overlayfs : sudo apt install slirp4netns fuse-overlayfs -y. Redémarrez le service utilisateur avec systemctl --user restart podman.socket.

L'écosystème des conteneurs continue d'évoluer, et la frontière entre runtimes et moteurs s'estompe — la question n'est pas quel outil vous choisissez, mais quelle couche vous faut-il pour votre infrastructure.

← Retour à la base de connaissances
← Terug naar kennisbank