Premiers pas avec Podman Desktop, une alternative Open Source Docker Desktop
Podman Desktop est une alternative gratuite à Docker Desktop qui constitue une autre excellente option pour le développement local. Il offre un ensemble de fonctionnalités similaires tout en restant entièrement open source, vous permettant d’éviter les implications de licence liées à l’utilisation du produit Docker.
Dans cet article, vous apprendrez à installer et à démarrer avec Podman Desktop pour exécuter des conteneurs et les déployer sur Kubernetes. L’expérience vous sera familière si vous avez déjà utilisé Docker Desktop, mais elle devrait également être rapide à reprendre.
Sommaire
Qu’est-ce que le bureau Podman ?
Podman est un moteur de conteneur OCI que vous pouvez utiliser à la place de Docker. La CLI de Podman est intentionnellement similaire à celle de Docker ; vous pouvez convertir la plupart des commandes en remplaçant simplement podman
au lieu de docker
comme podman run
et podman push
.
Podman Desktop est une interface graphique officielle pour les fonctionnalités de Podman. En plus d’encapsuler la CLI Podman, il regroupe des fonctionnalités supplémentaires, notamment l’intégration de Kubernetes et des extensions tierces. Vous pouvez utiliser Desktop pour interagir facilement avec les conteneurs et les ressources associées sur votre poste de travail, si vous souhaitez éviter d’exécuter des commandes de terminal.
Commencer
Assurez-vous que la CLI Podman standard est installée avant de commencer à utiliser Podman Desktop. Desktop doit détecter la CLI pour gérer vos conteneurs. Vous pouvez trouver des instructions d’installation détaillées dans la documentation Podman.
Ensuite, téléchargez la dernière version de Podman Desktop sur le site Web du projet. Vous pouvez également utiliser l’une des commandes suivantes pour effectuer l’installation à l’aide du gestionnaire de packages de votre système :
- les fenêtres –
winget install -e --id RedHat.Podman-Desktop
- macOS –
brew install podman-desktop
- Linux –
flatpak install --user flathub io.podman_desktop.PodmanDesktop
Vous pouvez maintenant lancer Podman Desktop. Vous devriez voir que Podman est détecté avec succès. L’écran d’accueil affichera également tous les autres environnements de conteneur disponibles sur votre système, tels qu’une installation Docker Engine.
Explorer le bureau Podman
L’interface de Podman Desktop est divisée en cinq sections principales entre lesquelles vous pouvez basculer à l’aide de la barre latérale gauche. Il existe également un menu Paramètres distinct, accessible en bas de la barre latérale, dans lequel vous pouvez configurer vos moteurs de conteneur, activer les proxies HTTP et fournir les informations d’identification du registre d’images.
Conteneurs en cours d’exécution
L’onglet Conteneurs est l’endroit où vous passerez le plus de temps. Il affiche tous les conteneurs qui existent dans votre environnement. Pour créer un nouveau conteneur, appuyez sur le bouton violet « Créer un conteneur » en haut à droite.
Vous serez invité à choisir entre créer un Containerfile ou Dockerfile, ou démarrer un conteneur à partir d’une image existante :
Si vous choisissez « From Containerfile/Dockerfile », vous devrez sélectionner le chemin d’accès à votre fichier en cliquant sur l’entrée « Containerfile path » sur l’écran suivant. Vous pouvez utiliser n’importe quel Dockerfile existant ; la terminologie Containerfile est simplement une alternative plus générique. Fournissez une balise initiale pour votre image dans le champ « Nom de l’image », puis appuyez sur le bouton « Construire » pour créer votre image.
La sortie de la commande build sera affichée dans une fenêtre de terminal intégrée. Cliquez sur le bouton Terminé pour continuer. Vous serez redirigé vers l’écran Images où votre nouvelle image sera affichée. Si vous choisissez de ne pas créer de nouvelle image, vous arriverez sur l’écran Images après avoir appuyé sur le bouton « À partir d’une image existante » dans la boîte de dialogue de création de conteneur.
Ensuite, survolez n’importe quelle image et cliquez sur le bouton de lecture qui apparaît sur le côté droit de l’écran :
Vous pouvez maintenant configurer les propriétés de votre nouvelle instance de conteneur. Attribuez un nom à votre conteneur, montez les volumes dont vous avez besoin et définissez des variables d’environnement dans l’onglet « Basique » :
L’onglet Avancé vous permet d’attacher un TTY, de définir l’utilisateur sous lequel le conteneur s’exécute et de modifier la politique de redémarrage qui s’appliquera :
La mise en réseau configure la pile réseau du conteneur, y compris son nom d’hôte, /etc/hosts
entrées de fichier et configuration DNS :
Enfin, l’onglet Sécurité vous permet d’activer le mode privilégié (si vous savez que vous en avez besoin), de modifier les capacités du noyau du conteneur et de spécifier un système de fichiers en lecture seule si vous vous attendez à un environnement immuable :
Une fois que vous avez terminé de configurer votre conteneur, cliquez sur le bouton violet « Démarrer le conteneur » en bas de l’écran pour l’exécuter. Il réapparaîtra sur l’écran Conteneurs.
Gestion des conteneurs
Le survol des conteneurs révèle des actions qui vous permettent de les arrêter ou de les supprimer. Vous pouvez également utiliser les cases à cocher sur le côté gauche pour sélectionner plusieurs conteneurs et appliquer des actions en bloc.
Cliquer sur le bouton à trois points à l’extrême droite révèle un menu de débordement avec plus d’options. Ici, vous pouvez immédiatement redémarrer votre conteneur ou lancer rapidement une session de terminal.
Cliquez sur n’importe quel conteneur pour afficher ses détails. Cela donne une interface à onglets où vous pouvez accéder aux journaux du conteneur, podman inspect
sortie et session terminale.
Gestion des images
Les images sont gérées de la même manière. Cliquez sur n’importe quelle image pour accéder à ses détails, y compris son podman inspect
sortie et historique des couches.
Cliquez sur le bouton « Extraire l’image » en haut à droite de l’écran Images pour extraire une nouvelle image distante dans votre environnement. Vous serez invité à saisir l’image que vous souhaitez extraire, par exemple ubuntu:latest
ou alors registry.example.com/private-image:v1
.
Podman téléchargera l’image lorsque vous appuierez sur le bouton « Tirer l’image ». La progression est affichée dans une fenêtre de terminal en ligne.
Pour utiliser des images dans des registres privés, vous devez d’abord configurer les identifiants d’authentification. Appuyez sur le bouton « Gérer les registres » sur l’écran Extraire l’image ou accédez à Paramètres> Ajouter des registres, puis appuyez sur le bouton « Ajouter un registre » en bas à droite. Entrez le nom d’hôte de votre registre et fournissez votre nom d’utilisateur et votre mot de passe. Cliquez sur le bouton Connexion pour vous authentifier.
Gestion des volumes
L’écran Volumes fournit un aperçu de tous les volumes persistants que vous avez créés, y compris leur âge et leur taille totale :
Cliquer sur un volume révèle son podman inspect
sortir:
Vous pouvez supprimer un volume en cliquant sur le bouton en haut à droite.
Utilisation de Kubernetes
Podman a intégré le support de Kubernetes. Ceci est affiché dans l’écran Pods de Podman Desktop. Les pods dans Podman sont équivalents aux pods Kubernetes, étant une collection de plusieurs conteneurs regroupés. Pour déployer un pod, cliquez sur le bouton « Play Kubernetes YAML » en haut à droite.
Indiquez le chemin d’accès à votre fichier YAML sur l’écran qui s’affiche :
Vous pouvez utiliser ce manifeste de pod simple si vous n’en avez pas de disponible :
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx:latest
Lorsque vous cliquez sur le bouton « Jouer », Podman déploiera les pods définis par votre manifeste. Les ID de pod créés sont affichés dans la sortie de la fenêtre du terminal intégré.
Vous verrez maintenant votre pod apparaître sur l’écran des pods :
Les pods sont toujours des conteneurs exécutés dans Podman. Pour se déployer dans un réel Cluster Kubernetes, développez le menu à trois points du pod et sélectionnez l’action « Déployer sur Kubernetes ».
Sur l’écran suivant, choisissez de remplacer hostPort
liaisons avec les services Kubernetes. Ceci est plus sûr car cela empêche les pods d’être directement liés aux ports des nœuds de votre cluster. Cliquez sur « Déployer » pour lancer votre pod dans votre cluster Kubernetes actif, tel que défini par votre ~.kube/config
dossier. Vous pouvez choisir une connexion de cluster différente dans le menu des paramètres.
Podman Desktop intègre des fonctionnalités pratiques pour se déplacer entre les conteneurs locaux et les clusters Kubernetes. L’onglet « Kube » sur l’écran des détails du conteneur fournit un fichier Kubernetes YAML généré automatiquement pour n’importe quel conteneur de votre environnement, vous permettant de déployer sans écrire manuellement les manifestes.
Installation d’extensions
Podman Desktop prend en charge la plupart des extensions Docker Desktop afin que vous puissiez ajouter des fonctionnalités personnalisées. Les extensions sont distribuées sous forme d’images conteneurs avec un contenu spécialement préparé. Vous pouvez les trouver sur Docker Hub en filtrant sur le type de contenu Extension.
Une fois que vous avez trouvé une extension que vous souhaitez utiliser, ajoutez-la à Podman Desktop en vous rendant dans Paramètres > Extensions de bureau. Collez le nom de l’image de l’extension dans le champ de saisie, puis appuyez sur le bouton « Installer l’extension à partir de l’image OCI ». Les journaux d’installation seront affichés ci-dessous.
L’interface utilisateur de l’extension sera alors disponible dans l’interface principale de Podman Desktop, sous l’élément de la barre latérale Extensions.
Résumé
Podman Desktop est un outil graphique de gestion des environnements de conteneurs Podman. Vous pouvez interagir avec les conteneurs, les images et les volumes sur votre machine, déployer des manifestes Kubernetes et surveiller les journaux, le tout dans une seule interface. Podman Desktop est également compatible avec les extensions Docker Desktop afin que vous puissiez accéder à des intégrations supplémentaires développées par l’écosystème de conteneurs plus large.
Ces fonctionnalités signifient que Podman Desktop peut souvent être utilisé en remplacement de Docker Desktop. Cependant, vous devrez vous en tenir à Docker si vous comptez sur ses fonctions de collaboration, de gestion d’entreprise et d’environnement de développement. Podman n’offre rien de comparable à ceux-ci, se concentrant plutôt sur une expérience de conteneur rapide, légère et ouverte.