Qu'est-ce que Podman et quelle est la différence avec Docker ?
Podman est un moteur de conteneur compatible avec les conteneurs OCI qui fait également partie de RedHat Linux, mais peut également être installé sur d'autres distributions Linux.
Comme il est conforme à l'OCI, Podman peut être utilisé en remplacement du runtime Docker plus connu. La plupart des commandes Docker peuvent être directement traduites en commandes Podman.
Qu'est-ce qu'un environnement d'exécution ?
Pour beaucoup de gens, le Container Engine est Docker, mais cela ne représente pas le monde des Container Engines pour le moment, mais il existe de nombreux Container Engines comme Podman.
En conséquence, Podman et Docker ont des fonctionnalités de base. Chacun produit des images que l'autre peut utiliser pour faire fonctionner les conteneurs. Les deux runtimes ajoutent ensuite leurs propres spécialités en plus des fonctionnalités de conteneurisation de base.
Installer Podman
Si vous utilisez Red Hat Enterprise Linux 8, Podman se trouve dans le référentiel local et vous pouvez l'installer en utilisant simplement yum.
yum -y install podman
La plupart des autres distributions Linux incluent Podman dans leurs référentiels par défaut
Comment travailler avec les conteneurs et les images ?
Podman présente plusieurs similitudes avec Docker dans ses commandes d'exécution telles que
1-Comment extraire l'image
podman pull my-image:latest
2- Comment exécuter l'image
podman run my-image:latest --name my-container
Conteneurs créés et en cours d'exécution à 3 listes
podman ps
4-Comment retirer le conteneur
podman rm my-container
Différence entre Podman et Docker
Docker est une technologie de gestion de conteneurs. Podman est également une technologie de conteneur. Vous pouvez utiliser l'un ou l'autre pour créer des images de conteneur et stocker ces images dans un référentiel. Vous pouvez également utiliser Docker ou Podman pour extraire des images de conteneur d'un registre, puis les exécuter dans un environnement cible
Cependant, les technologies ont des différences. Tout d'abord, alors que Docker a un démon sous-jacent, Podman utilise une technologie légèrement différente pour créer des conteneurs. Deuxièmement, Podman, comme son nom l'indique, permet aux utilisateurs de créer des pods. Un pod est un moyen de regrouper des conteneurs sous un nom organisationnel commun. Docker ne prend pas en charge les pods. Il existe d'autres différences subtiles, mais à un niveau élevé, ces deux différences sont les plus prononcées
1-Conteneurs sans racine
Les conteneurs sans racine font référence à la possibilité pour un utilisateur non privilégié de créer, d'exécuter et de gérer des conteneurs.
"Utilisateur non privilégié" dans ce contexte fait référence à un utilisateur qui ne dispose d'aucun droit d'administration
installez slirp4netns :
yum install slirp4netns
configurer une quantité d'espaces de noms de réseau à portée utilisateur :
echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
vous pouvez maintenant exécuter un conteneur sans racine en tant qu'utilisateur ordinaire. Connectez-vous simplement au serveur en tant qu'utilisateur.
lorsque vous démarrez un nouveau conteneur avec podman run, il sera créé avec l'UID de votre compte d'utilisateur au lieu de root
Pods
Pods sont les plus petites unités informatiques déployables que vous pouvez créer et gérer et qui ressemblent à des pods kubernetes .
créer un module :
podman pod create --name my-pod
ajouter un conteneur aux pods :
podman run --pod my-pod --name image-1 my-image:latest
peut gérer le container dans les pods :
podman kill my-pod # kill all containers
podman restart my-pod # restart all containers
podman stop my-pod #stop all containers
Conclusion
en conclusion, podman est un moteur de conteneur comme docker qui a de nombreuses similitudes comme la façon d'extraire l'image, d'exécuter l'image. mais ont de nombreuses différences comme le conteneur sans racine et les pods