6 points par GN⁺ 2024-01-14 | 1 commentaires | Partager sur WhatsApp

Comparaison entre Podman et Docker

  • Podman et Docker permettent tous deux d’exécuter, de gérer et de déployer des conteneurs de manière efficace et évolutive.
  • Podman utilise une architecture sans démon, dans laquelle l’utilisateur gère directement les conteneurs.
  • Podman est intégré à Systemd pour gérer le cycle de vie des conteneurs.
  • Il est possible d’orchestrer plusieurs conteneurs avec Podman Compose, qui offre des fonctionnalités similaires à Docker Compose.
  • Sur le plan de la sécurité, Podman propose des paramètres par défaut plus renforcés que Docker.

Installer Podman

  • Podman peut fonctionner sur macOS, Windows et les principales distributions Linux.
  • Il s’exécute nativement sous Linux, et via une machine virtuelle sous Windows et macOS.
  • L’installation se fait avec les commandes sudo apt update et sudo apt install podman.

Exécuter son premier conteneur

  • L’image "Hello World!" permet de vérifier que l’installation de Podman fonctionne correctement.
  • Comme Podman suit le standard OCI (Open Container Initiative), il est compatible avec les images Docker.

Utiliser des noms d’image courts

  • Podman recommande d’utiliser le nom complet lors de la référence à une image.
  • En cas d’utilisation d’un nom court, Podman consulte le fichier de configuration pour déterminer le nom d’image pleinement qualifié.

Utiliser un registre d’images privé

  • Podman peut être utilisé avec des registres privés, comme Docker.
  • Il est possible de suivre un exemple de configuration de registre privé avec un compte Docker Hub.

Orchestrer plusieurs conteneurs

  • Podman Compose permet d’orchestrer plusieurs conteneurs.
  • Podman Compose offre des fonctionnalités similaires à Docker Compose et reste compatible avec les fichiers docker-compose.yml existants.

Avis de GN⁺ :

  • Podman est un moteur de conteneurs qui, par rapport à Docker, peut être plus rapide et propose des paramètres de sécurité par défaut plus renforcés, ce qui en fait une alternative attrayante pour les développeurs et les administrateurs système.
  • L’architecture sans démon de Podman facilite la traçabilité des audits de sécurité, ce qui permet d’identifier l’utilisateur en cas d’incident de sécurité.
  • La compatibilité entre Podman et Docker aide les utilisateurs actuels de Docker à passer plus facilement à Podman. C’est utile pour les organisations qui veulent améliorer la sécurité et les performances tout en conservant leur infrastructure et leurs workflows existants.

1 commentaires

 
GN⁺ 2024-01-14
Avis Hacker News
  • Podman et systemd

    • Podman était intéressant lorsqu’il prenait en charge les fichiers d’unité systemd. Il permettait de démarrer et de mettre à jour automatiquement les conteneurs et les pods.
    • Mais en privilégiant Quadlet, cette fonctionnalité a été supprimée. Désormais, un conteneur unique peut être géré avec un fichier d’unité, mais pour les pods, une définition de cluster Kubernetes est nécessaire.
    • Contrairement à Docker, les conteneurs de Podman fonctionnent selon les définitions SELinux, ce qui entraîne de façon récurrente des problèmes d’accès aux répertoires montés.
    • Il y a une certaine confusion sur le fait de devoir utiliser Podman, Kubernetes, ou créer un répertoire dédié au lieu d’un emplacement logique.
  • Compatibilité réseau de Podman

    • L’un des principaux avantages de Podman est que, contrairement à Docker, il ne casse pas la configuration réseau.
    • Avec Docker, faire fonctionner des bridges avec des machines virtuelles KVM était un cauchemar, mais Podman fonctionne bien par défaut.
    • Il y avait aussi des problèmes où le VPN était perturbé ou interrompu par Docker, mais jusqu’à présent, la manière dont Podman gère le réseau ne gêne pas les autres usages.
  • La popularité croissante de Podman

    • Beaucoup d’outils ont été conçus en supposant l’ajout du groupe sudo docker, mais cela pose problème dans des configurations Docker soucieuses de la sécurité.
    • Podman peut être utilisé sans privilèges root, ce qui est positif du point de vue de la sécurité.
  • Retour d’expérience d’un ingénieur RHEL avec Podman

    • En tant qu’ingénieur RHEL certifié, il apprécie utiliser Podman pour son usage personnel des conteneurs.
    • Mais pour les développeurs, il continue à utiliser Docker, car il n’existe toujours pas d’alternative qui remplace la simplicité de Docker Compose.
    • Il utilise Buildah dans les pipelines CI, mais pour les développeurs, Docker Compose reste dominant.
  • Faille de sécurité entre Docker et UFW

    • Il a failli être affecté par la faille de sécurité entre Docker et UFW.
  • Importance des conteneurs rootless et des espaces de noms isolés

    • Les conteneurs rootless et les espaces de noms isolés sont des fonctionnalités de sécurité importantes.
    • Docker permet aussi le mode rootless, et sa configuration n’est pas particulièrement compliquée.
    • L’avantage de rester sur Docker est une meilleure accessibilité : une communauté plus large, davantage de blogs, une grande disponibilité de configurations Docker Compose, ainsi que des collègues qui savent déjà l’utiliser.
    • Au final, Podman comme Docker exécutent des processus dans des espaces de noms isolés sur l’hôte.
  • Podman, l’alternative à Docker de Red Hat

    • On ne sait pas très bien pourquoi Red Hat a créé une alternative à Docker, mais Podman plaît.
    • Podman peut faire presque tout ce que fait Docker, avec parfois plus de fonctionnalités (par exemple les pods), ou une meilleure approche (par exemple le processus de création de conteneurs sans daemon).
    • Le principal problème pour les développeurs est sans doute Docker Compose, mais si l’on utilise des fichiers Compose simples, il existe le script podman-compose, qui cherche à être compatible avec la spécification Docker Compose.
    • Il est aussi possible d’utiliser Podman comme backend de Docker Compose. En 2024, au moins sur Linux, il ne semble plus y avoir de raison d’utiliser Docker. En revanche, on ne sait pas vraiment comment Podman se comporte sur macOS ou Windows.
  • L’approche orientée sécurité de Podman

    • Son approche centrée sur la sécurité et certaines de ses décisions sont appréciées. Il fournit par défaut des réglages sûrs et reste compatible avec Docker Compose.
    • Si Podman devient suffisamment populaire, il pourrait prendre sa propre direction pour les commandes et les fichiers yml. Pour l’instant, il donne l’impression d’être un outil qui « dépend » des formats Docker et Docker Compose.
    • Podman aurait besoin d’une alternative à swarm pour compenser l’absence d’orchestration hors k8s. Cela pourrait offrir une manière simple et raisonnable d’exploiter de petits déploiements de conteneurs avec un bon niveau de sécurité.
  • Problèmes rencontrés avec Podman

    • Podman est excellent, mais au moment de commencer à l’utiliser comme remplaçant de Docker, il y a eu des difficultés avec le mapping UID et GID, les politiques SELINUX et des réglages DNS manquants.
    • En essayant de résoudre ces problèmes avec des migrations système, la configuration a été cassée à plusieurs reprises. Il y a des questions complexes liées aux ACL de sécurité, au mapping des identifiants et aux labels.
    • Le résultat est satisfaisant, mais ce n’était pas une solution qui « fonctionne tout simplement » comme Docker. Il est possible que cela se soit amélioré depuis.
  • Podman et Apple Silicon

    • Contrairement à Docker, Podman ne permet pas d’exécuter des images x86 sur Apple Silicon via Rosetta.
    • QEMU est trop lent pour un usage réel.