Conteneurs avec Podman : un guide complet des pods et des volumes

Dernière mise à jour: 17/12/2025
Auteur: Isaac
  • Podman gère les conteneurs et les pods sans démon central, avec une compatibilité quasi totale avec commandes Docker et prise en charge native des conteneurs sans privilèges.
  • Les pods regroupent plusieurs conteneurs qui partagent un réseau, une adresse IP et, éventuellement, des volumes, facilitant ainsi des modèles tels que les sidecars et les applications multi-conteneurs.
  • Podman vous permet de créer des réseaux, des volumes et des pods complexes, d'intégrer podman-compose et de générer des manifestes Kubernetes pour une migration facile vers des clusters.
  • Des outils comme Podman Desktop, de bonnes pratiques de sécurité, le nettoyage des ressources et l'automatisation CI/CD complètent un écosystème adapté au développement et à la production.

Conteneurs avec Podman

Si vous travaillez avec des conteneurs et que vous connaissez l'univers Docker, vous avez probablement entendu parler de Podman et de ses conteneurs et pods, présentés comme une alternative moderne . Il ne s'agit pas simplement d'un « autre Docker », mais d'un outil conçu pour être plus léger, plus sécurisé et bien mieux intégré à l' écosystème Linux et Kubernetes, aussi bien sur les serveurs que dans les équipes de développement.

Ce guide vous présentera étape par étape les conteneurs Podman : leur fonctionnement en pods, les différences entre Podman et Docker, leur gestion en ligne de commande, ainsi que le rôle d'outils comme podman-compose et Podman Desktop dans le cycle de vie d'une application . À la fin de ce guide, vous maîtriserez parfaitement l'utilisation de Podman au quotidien.

Qu'est-ce que Podman et en quoi diffère-t-il de Docker ?

Podman est un outil open source permettant de créer et de gérer des conteneurs et des pods sur les systèmes Linux. Maintenu principalement par Red Hat et distribué sous licence Apache, il permet l'utilisation de tous ses composants sans problème dans des environnements commerciaux. Bien que développé initialement pour Linux, il est également compatible avec macOS et Windows (via WSL2 ou Podman Desktop).

Sur le plan fonctionnel, Podman remplit le même objectif que Docker : Exécutez facilement des conteneurs OCIIl utilise une interface en ligne de commande presque identique à celle de Docker, au point qu'il est courant de définir l'alias. alias docker=podman Réutiliser les scripts sans les modifier. Cependant, l'architecture interne est différente, et c'est là que résident les avantages importants.

La première différence majeure est que Podman est « sans démon ».Autrement dit, il ne dépend pas d'un démon central contrôlant tous les conteneurs. Chaque commande exécutée crée ses propres processus, et il n'existe aucun service persistant comme… dockerdCela se traduit généralement par une consommation de ressources réduite, un modèle de sécurité plus simple et une intégration plus fluide avec les outils système tels que systemd.

Une autre caractéristique essentielle de Podman est sa prise en charge native des conteneurs sans privilèges root , permettant ainsi aux utilisateurs sans privilèges d'administrateur d'exécuter des conteneurs sans avoir besoin d'accorder l'accès à un socket root . Cela réduit la surface d'attaque et le rend particulièrement intéressant pour les serveurs multi-utilisateurs ou les environnements d'entreprise avec des contrôles d'accès stricts.

Enfin, Podman intègre le concept de pod dès sa conception, s'inspirant directement de Kubernetes. Cela signifie que vous pouvez grouper plusieurs conteneurs qui partagent un réseau et stockage sans avoir besoin de recourir à un orchestrateur externe ou à des outils tels que docker-composebien qu'il y ait aussi podman-compose pour ceux qui préfèrent cette approche déclarative.

Qu'est-ce qu'un pod et comment fonctionne-t-il dans Podman ?

Le terme « pod » provient de l'univers Kubernetes et désigne un groupe de conteneurs partageant certaines ressources. Dans Kubernetes, et également dans Podman, un pod peut être considéré comme une unité logique regroupant un ou plusieurs conteneurs fonctionnant en étroite collaboration.

À l'intérieur d'une capsule, Tous les conteneurs partagent une seule adresse IP. et un ensemble d'espaces de noms réseau et, éventuellement, de volumes de stockage. Cela signifie qu'ils peuvent communiquer entre eux en utilisant localhost o 127.0.0.1comme s'il s'agissait de processus différents au sein de la même machine, bien que, de l'extérieur, le pod soit perçu comme une entité unique accessible par une adresse IP et des ports spécifiques.

En pratique, cela s'avère très utile pour mettre en œuvre des modèles tels que les conteneurs sidecar ou les applications où plusieurs services sont étroitement couplés. Par exemple, un serveur web nginx dans un conteneur et un PHP-FPM dans un autre Ils peuvent vivre dans le même pod, partager une adresse IP et communiquer via localhostmais en veillant à ce que leurs processus et leurs cycles de vie restent distincts.

Lorsque vous créez un pod avec Podman, celui-ci introduit un conteneur spécial appelé conteneur d'infrastructureCe conteneur, basé par défaut sur l'image localhost/podman-pause (ou similaire tel que) k8s.gcr.io/pause), il ne fait pratiquement rien de plus que « dormir », mais sa fonction est vitale : il est responsable du maintien des espaces de noms du pod et sert d'ancre pour le reste des conteneurs qui se connectent à ce pod.

Chaque conteneur, qu'il soit à l'intérieur d'un pod ou non, dispose d'un processus de surveillance appelé `common` . Ce petit programme C est chargé de surveiller le conteneur, de gérer ses entrées/sorties et de permettre à des outils comme Podman de s'y connecter, de s'y attacher ou de collecter son état à tout moment.

Gestion des pods avec la commande podman

Dans Podman, tout ce qui concerne les pods est géré à l'aide de la sous-commande podman podÀ partir d'ici, vous pouvez créer des pods, consulter leur statut, ajouter des conteneurs, contrôler leur cycle de vie ou les supprimer lorsque vous n'en avez plus besoin.

podman pod create --name pod1

podman pod ps

ID, nom, statut sont les colonnes de base que vous verrez lors de l'affichage de la liste des pods ; elles sont accompagnées de l'identifiant du conteneur d'infrastructure associé.

Pour ajouter un nouveau conteneur à un pod existant, il suffit de l'ajouter au pod en spécifiant celui auquel vous souhaitez le connecter lors de sa création. Voici un exemple typique :

podman run -dt --pod pod1 --name web nginx

Avec cette commande, Nous avons créé un conteneur basé sur l'image nginx et l'avons associé au pod. pod1Lorsque ce conteneur principal démarre, le pod passe à l'état « En cours d'exécution », puisqu'il contient des processus actifs.

  Qu'est-ce que l'éditeur modal Helix Editor et pourquoi gagne-t-il autant d'adeptes ?

podman ps -a --pod

Dans les résultats, nous verrons des colonnes comme ID DU CONTENEUR, IMAGE, STATUT et une colonne POD indiquant l'identifiant ou le nom du pod. Les identifiants de pod affichés ici correspondent à ceux visibles dans podman pod psce qui facilite la mise en relation des informations entre les deux points de vue.

Cycle de vie des pods, journaux et informations détaillées

L'un des avantages des pods est la possibilité de gérer tous leurs conteneurs simultanément . Bien qu'il soit toujours possible d'arrêter, de démarrer ou de redémarrer les conteneurs individuellement, la gestion de l'ensemble du pod simplifie considérablement la gestion des applications composites.

podman pod pause NOMBRE_O_ID_DEL_POD

podman pod unpause NOMBRE_O_ID_DEL_POD

podman pod stop NOMBRE_O_ID_DEL_POD

podman pod start NOMBRE_O_ID_DEL_POD

Et si nous devons les redémarrer directement, il y a aussi podman pod restart pour redémarrer l'ensemble Conteneur à capsules en une seule étape.

podman pod inspect NOMBRE_O_ID_DEL_POD

En ce qui concerne journauxLorsqu'il n'y a qu'un seul conteneur principal dans le pod, c'est simple : nous pouvons obtenir le résultat avec une simple podman logs à propos de ce conteneurToutefois, si le pod contient plusieurs conteneurs, nous devons spécifier celui dont nous souhaitons obtenir les journaux à l'aide du paramètre -c:

podman pod logs -c NOMBRE_DEL_CONTENEDOR NOMBRE_O_ID_DEL_POD

Pour visualiser les processus exécutés dans tous les conteneurs d'un pod, nous disposons également de commandes qui agrègent ces informations, ce qui nous permet d'effectuer une sorte de « ps distribué sur tous les conteneurs du même pod ». Ceci est très pratique lors du débogage d'erreurs dans des applications multi-conteneurs.

Suppression des capsules et leur relation avec les conteneurs

Lors de la suppression de pods, il est essentiel de se rappeler que cette opération entraîne également la suppression de tous les conteneurs qu'ils contiennent . Par conséquent, Podman exige que le pod soit arrêté avant toute suppression sécurisée, évitant ainsi la suppression accidentelle de conteneurs en cours d'exécution.

podman pod rm NOMBRE_O_ID_DEL_POD

podman pod rm -f NOMBRE_O_ID_DEL_POD

Lorsque de nombreux pods s'accumulent, il peut être utile de les supprimer tous en une seule fois. Il existe des commandes conçues à cet effet. Tous les modules se sont arrêtés ou même tous les modules du système, tant les détenus que les personnes en activité, combinant généralement des options telles que -a ou en utilisant des sous-commandes « prune » spécifiques en fonction de la version de Podman.

Réseau et ports dans les conteneurs d'un pod

Au niveau du réseau, un pod se comporte comme une unité unique : tous les conteneurs qu’il contient partagent la même adresse IP . Cette adresse IP est attribuée au pod dans son ensemble et le connecte au réseau spécifié lors de sa création.

Dans les environnements rootful, si nous ne spécifions rien, le pod se connecte au pont rouge par défaut de Podman. En revanche, dans les environnements sans privilèges root, l'option standard est le réseau. slirp4netns, ce qui permet d'exposer les services à l'hôte sans nécessiter de privilèges élevés.

Lorsque nous voulons présenter un service au monde extérieur, nous devons procéder à la Mappage des ports lors de la création du podCela se fait en utilisant les options -p o --publish, indiquant le port hôte et le port interne du pod :

podman pod create --name webpod -p 8080:80

podman run -dt --pod webpod --name nginx docker.io/library/nginx

Ainsi, toute requête adressée à l'adresse IP de l'hôte sur le port 8080 sera redirigée vers le port 80 du pod, puis vers le conteneur nginx. Il est important de noter qu'un seul service peut écouter sur chaque port mappé ; par conséquent, deux conteneurs du même pod ne peuvent pas proposer des services sur le même port interne mappé vers l'extérieur.

La communication entre les conteneurs au sein d'un même pod s'effectue simplement à l'aide de localhost o 127.0.0.1Cela signifie que si un conteneur au sein du pod offre un service HTTP sur le port 80, un autre conteneur peut y accéder avec une URL comme celle-ci : http://127.0.0.1:80 sans se soucier des adresses IP ou des noms d'hôtes.

Stockage et volumes partagés dans les pods

Bien que chaque conteneur puisse avoir son propre espace de stockage, il est très courant que les conteneurs d'un même pod partagent une partie du système de fichiers , notamment lorsqu'un conteneur génère des données qu'un autre doit servir ou traiter.

Lors de la création du pod, nous pouvons définir des points de montage visibles depuis tous les conteneurs qu'il contient. Ces montages peuvent être des volumes gérés par Podman ou des montages directs de répertoires hôtes (montages de liaison), selon que nous préférions déléguer le chemin physique à Podman ou le gérer nous-mêmes.

Un exemple très instructif est celui d'une capsule appelée pod5 qui expose un serveur web sur le port 8082 de l'hôte. Dans ce pod, nous avons deux conteneurs :

  • Un conteneur principal web basé sur nginx, qui construit un volume partagé dans /usr/share/nginx/html, son DocumentRoot. Ce conteneur est responsable de la diffusion du site web.
  • Un conteneur auxiliaire sidecardont la mission est de modifier périodiquement le fichier index.html au sein du même volume, par exemple chaque seconde, générant un contenu dynamique ou des messages qui changent.

Pour ce faire, nous créons le pod en spécifiant à la fois le port et le volume, puis nous ajoutons les deux conteneurs, en montant le même volume sur les chemins appropriés. podman volume nous pouvons gérer ces volumes, et avec podman volume inspect voir où se trouve physiquement la route sur l'hôte (par exemple, quelque chose comme ~/.local/share/containers/storage/volumes/NOMBRE/_data (dans les environnements sans racines).

Si nous préférons utiliser des montages de liaison plutôt que des volumes, lors de la création du conteneur, nous pouvons monter directement un répertoire sur l'hôte en ajoutant l'option correspondante. :z lorsque nous travaillons avec SELinux afin que les contextes de sécurité soient automatiquement ajustés et qu'il n'y ait aucun problème d'accès depuis le conteneur.

  Quelle est la meilleure façon d’utiliser les lettres minuscules dans les messages WhatsApp ? Comment écrire vos messages WhatsApp en minuscules du début à la fin

Conteneurs avec Podman : commandes de base au quotidien

Si vous n'avez jamais utilisé Podman (ou Docker), il faut d'abord comprendre que les conteneurs sont une forme de virtualisation légère . Ils ne recréent ni matériel ni noyau, mais utilisent les espaces de noms, les cgroups et d'autres techniques du noyau pour isoler les processus, tout en partageant le même noyau que le système hôte.

Comparativement aux machines virtuelles traditionnelles , les conteneurs consomment généralement moins de ressources, démarrent beaucoup plus rapidement et permettent une densité de déploiement plus élevée, ce qui se traduit par des déploiements plus efficaces. Des outils comme LXC/LXD se concentrent sur les conteneurs système complets, tandis que Podman (et Docker) privilégient les conteneurs minimalistes pour l'exécution de services spécifiques tels que les bases de données , les serveurs web ou les applications de messagerie.

podman run -dt -p 8080:80/tcp docker.io/library/httpd

Dans ce cas, Podman tente de télécharger l'image. docker.io/library/httpd s'il n'existe pas localement (en l'enregistrant dans des chemins comme ~/.local/share/containers/storage (pour les utilisateurs sans privilèges root), crée le conteneur et le démarre en arrière-plan (-dt (indique le mode détaché et le pseudo-TTY). Le port 8080 depuis l'hôte vers lequel il redirige 80/tcp depuis le conteneur, nous pouvons donc ouvrir le navigateur dans 127.0.0.1:8080 et nous verrons la page Apache par défaut.

podman ps

Et si nous voulons également voir les personnes détenues, nous ajoutons l'option -aDans le résultat, nous verrons des colonnes telles que ID DU CONTENEUR, IMAGE, COMMANDE, STATUT, PORTS et NOM, où le nom est généralement un alias lisible par l'utilisateur (par exemple, xenodochial_newton ou une que nous avons installée).

podman stop NOMBRE_O_ID

podman start NOMBRE_O_ID

Et débarrassez-vous-en lorsqu'ils ne sont plus nécessaires avec :

podman rm NOMBRE_O_ID

Pour gérer les images locales, nous disposons de commandes telles que :

podman image list

qui nous indique le dépôt, l'étiquette, l'identifiant, la taille et la date de création, et d'autres informations comme podman image prune pour supprimer les images qui ne sont plus utilisées.

Volumes de données et persistance dans Podman

Les images sont conçues pour être immuables et contenir juste assez d'informations pour démarrer le service , mais les données de travail (sites web, bases de données, fichiers utilisateur) doivent être stockées quelque part qui survivra à la suppression des conteneurs.

C’est là qu’interviennent les volumes, permettant de monter un répertoire hôte à l’intérieur du conteneur. Imaginons que nous souhaitions stocker le contenu d’un site web servi par Apache ; l’image s’attend à le trouver dans /usr/local/apache2/htdocsNous pouvons créer un volume appelé www avec:

podman volume create www

puis jetez le récipient comme ceci :

podman run -dt --name apache -p 8080:80 -v www:/usr/local/apache2/htdocs docker.io/library/httpd

Ainsi, tous les fichiers situés sur ce volume seront accessibles en externe via Apache. Utilisation :

podman volume inspect www

On peut voir que le volume est enregistré dans un chemin comme /home/USUARIO/.local/share/containers/storage/volumes/www/_dataIl vous suffit de copier notre site web à cet emplacement pour le rendre accessible depuis le conteneur.

Ensembles de conteneurs avec podman-compose

Lorsqu'une application a besoin de plusieurs services (par exemple, un site WordPress avec sa base de données MariaDB), définir et démarrer manuellement chaque conteneur avec podman run et ses multiples paramètres peut s'avérer fastidieux et source d'erreurs.

C'est pour ça podman-composeun outil qui reproduit le comportement de docker-compose utilisation de fichiers docker-compose.yamlNous y déclarons les services, les réseaux et les volumes, puis nous laissons Podman se charger de tout configurer.

Un exemple typique est un fichier où nous définissons deux services :

  • service web avec l'image docker.io/library/wordpress, qui expose le port 8080 de l'hôte au port interne 80, monte un volume pour les fichiers web et obtient les variables d'environnement pour se connecter à la base de données.
  • service db avec l'image docker.io/library/mariadb:10.5, qui expose le port 6603, monte un volume pour les données de la base de données et définit les informations d'identification et la base de données initiale.

Les deux services se connectent au même réseau appelé wpnet et les volumes déclarés dans la section volumesEn course à pied :

podman-compose up

Les conteneurs, le réseau, les volumes sont créés, et aussi, un module qui regroupe ces conteneursUne commande podman ps Plus tard, on verra quelque chose de similaire à un conteneur d'infrastructure (par exemple, 663f84f58792-infra) à côté des conteneurs wordpress_db_1 y wordpress_web_1.

Si nous listons les pods avec :

podman pod ls

Nous verrons une entrée pour ce pod (par exemple, appelé wordpress) avec son ID de pod, son statut et le nombre de conteneurs. À partir de là, nous pouvons arrêter ou démarrer soudainement l'ensemble de l'assemblage avec podman pod stop y podman pod start, sans se soucier de savoir s'ils commencent dans le bon ordre.

Nous verrons les volumes associés à cette pile avec podman volume ls (par exemple wordpress_wordpress y wordpress_wpdbvol), et les images concernées apparaîtront dans podman image ls (WordPress, MariaDB et l'image infra/pause utilisée pour le pod).

Installation de Podman sous Linux, macOS et Windows

L'installation de Podman est aujourd'hui très simple car les distributions modernes l'intègrent déjà dans leurs dépôts . Sur les systèmes basés sur Debian ou Ubuntu, la procédure habituelle est la suivante :

sudo apt update
sudo apt install -y podman

D'autres distributions comme Fedora, CentOS Stream ou openSUSE utilisent leurs propres gestionnaires de paquets (DNF, Zypper, etc.), mais le principe reste le même : installer le paquet podman directement depuis les dépôts officiels.

Sur macOS, système de type Unix , l'intégration est également simple. La méthode la plus courante consiste à utiliser Homebrew, en exécutant :

brew install podman

En parallèle, Podman Desktop est disponible pour ceux qui préfèrent une interface graphique . Cette application installe et configure Podman en arrière-plan et fournit une interface graphique pour gérer les conteneurs, les images et les pods sans dépendre autant du terminal.

Sous Windows, le processus implique presque toujours WSL2 et une distribution Linux installée dans cet environnement (comme Ubuntu). Une fois WSL2 et la distribution installés, accédez à l'invite de commandes Linux et suivez les mêmes étapes d'installation que pour une distribution classique. Podman Desktop peut également être utilisé sous Windows, mais il nécessite toujours le sous-système WSL2 sous-jacent pour fonctionner correctement.

  Comment mettre à jour Windows 11 sans redémarrer et sans perdre de programmes

Pour vérifier que l'installation a réussi, il suffit d'exécuter :

podman --version

et vérifiez qu'il renvoie un numéro de version et non une erreur de type « commande introuvable ».

Gestion du réseau et des pods depuis l'interface de ligne de commande

Outre ses sous-commandes centrées sur les conteneurs, Podman possède une API réseau très similaire à celle de Docker. podman network ls Nous pouvons voir les réseaux disponibles (pont par défaut, slirp4netns en mode sans racine, réseaux personnalisés, etc.).

podman network create mi_red

podman run -d --network mi_red nginx

Cela permet à différents groupes de conteneurs d'avoir des réseaux indépendants, avec des politiques et des règles d'isolation différentes, ce qui est utile dans les environnements de développement avancés ou dans les déploiements avec plusieurs applications sur la même machine.

La relation entre les réseaux et les pods est très flexible : lors de la création d’un pod, nous pouvons spécifier à quel réseau il se connecte, comment ses ports sont publiés et quelles politiques d’accès sont appliquées , ce qui correspond très bien à la manière dont nous migrons ultérieurement vers des scénarios Kubernetes.

Intégration avec Kubernetes et génération de fichiers YAML

L'un des atouts de Podman est qu'il rapproche considérablement le monde du développement local de Kubernetes . Bien qu'un cluster ne soit pas nécessaire pour utiliser des pods sur votre machine, si vous décidez un jour de migrer vers Kubernetes, vous pourrez réutiliser une grande partie de votre infrastructure existante.

podman generate kube MI_POD > mi_pod.yaml

Ce fichier mi_pod.yaml Elle peut servir directement de base au déploiement de la même application sur un véritable cluster Kubernetes, avec les ajustements nécessaires. On peut également procéder dans l'autre sens et Créer des ressources Podman à partir d'un manifeste Kubernetes par:

podman kube play mi_pod.yaml

Ce pont permet de démarrer très naturellement avec Podman dans des environnements de développement ou de préproduction, puis de transférer ultérieurement les mêmes charges de travail vers Kubernetes sans avoir à refaire toute la configuration à partir de zéro.

Podman Desktop : interface graphique, débogage et écosystème

Pour ceux qui préfèrent éviter de nombreuses commandes ou qui souhaitent une expérience visuelle avec leurs conteneurs, Podman Desktop est une interface graphique multiplateforme et open source qui s'intègre à Podman et, dans de nombreux cas, également à Kubernetes.

À partir de cette interface, vous pouvez créer, démarrer, arrêter, redémarrer et inspecter des conteneurs en quelques clics, consulter leurs journaux en temps réel, vérifier l'utilisation du processeur, de la mémoire et du disque, et ouvrir un terminal interactif à l'intérieur d'un conteneur pour déboguer des problèmes ou exécuter des commandes spécifiques.

L'une de ses fonctionnalités les plus pratiques est l'assistant de création d'images. Au lieu de vous débattre avec les options de l'interface en ligne de commande, Podman Desktop vous guide pas à pas dans la sélection des images de base, des dépendances et des configurations , prenant même en charge les constructions multi-étapes pour réduire la taille de l'image finale et améliorer les performances.

Cet outil offre également une vue intégrée des ressources Kubernetes telles que les pods, les déploiements et les services. Vous pouvez ainsi surveiller un cluster, vérifier l'état des applications et ajuster les limites de ressources sans quitter l'application elle-même, ce qui est extrêmement utile dans les environnements de développement cloud-native.

De plus, Podman Desktop dispose d'un écosystème de plugins et est compatible avec de nombreuses extensions initialement conçues pour Docker Desktop, ce qui facilite la transition d'une plateforme à l'autre pour les équipes déjà très habituées à travailler graphiquement.

Bonnes pratiques, sécurité et automatisation avec Podman

Pour tirer pleinement parti de Podman, il est conseillé de suivre certaines bonnes pratiques, notamment dans les environnements où la sécurité et les performances sont primordiales. L'une des plus recommandées est d'utiliser des conteneurs sans privilèges root autant que possible , d'exécuter Podman en tant qu'utilisateur standard et d'éviter d'octroyer plus de privilèges que strictement nécessaire.

Une autre habitude très utile est tirer parti de la compatibilité de l'interface de ligne de commande DockerSi vous avez déjà de nombreux scripts et pipelines qui appellent dockerVous pouvez définir un alias :

alias docker=podman

Vous pouvez continuer à utiliser les mêmes commandes qu'auparavant, mais en les déléguant à Podman. Cela simplifie grandement les migrations progressives au sein des équipes de développement ou d'intégration continue/déploiement continu (CI/CD), où la modification de tous les scripts d'un coup serait un véritable cauchemar.

Concernant la gestion de l'espace, il est conseillé de nettoyer régulièrement les ressources inutilisées. Des commandes telles que :

podman image prune
podman container prune

Ils suppriment les images et les conteneurs qui ne sont plus utilisés, contribuant ainsi à éviter que le stockage hôte ne soit encombré par des vestiges d'anciens tests et déploiements.

Enfin, en environnement d'entreprise, il est avantageux d'intégrer Podman aux outils CI/CD, à la gestion de la configuration et aux solutions de sécurité . Étant open source et compatible avec les standards OCI, il s'intègre parfaitement aux pipelines avec GitHub Actions, GitLab CI, Jenkins et autres outils similaires, vous permettant de créer, signer et déployer des images sans dépendre de Docker.

Compte tenu de tout ce qui précède, Podman devient une option très solide aussi bien pour ceux qui utilisent déjà Docker que pour ceux qui débutent dans le monde des conteneurs, offrant une combinaison de sécurité, de compatibilité, d'intégration avec Kubernetes et de facilité d'utilisation qui le rend particulièrement attractif pour les projets modernes, les environnements de développement et les déploiements en production.