[Podman] Cheat-sheet
Introduction
Podman est un gestionnaire de conteneur dit "deamonless" (sans démon), ce qui signifie qu'il ne nécessite pas de service systemd ou openrc pour fonctionner et fonctionne même avec les utilisateurs non privilégiés des systèmes Unix.
Hormis, ces différences, il est presque identique à docker dans l'utilisation et le fonctionnement.
Installation
apt install -y podman podman-compose
Images
Build une image
Après avoir créé un Dockerfile (même syntaxe que docker), vous pouvez construire l'image :
podman build -t <IMG> .
Lister les images
podman images
Supprimer une image
podman rmi <IMG>
Afficher l'historique des modifications de l'image
podman history <IMG>
Supprimer les images inutilisées
podman image prune -a
Réseaux
Lister les réseaux
podman network ls
Créer un réseau
podman network create <NET_NAME>
Connecter un conteneur à un réseau
podman run <CT_NAME> --network <NET_NAME> -d <IMG>
Afficher les détails d'un réseau
podman network inspect <NET_NAME>
Volumes
Créer un volume
podman volume create <VOL_NAME>
Lister les volumes
podman volume ls
Attacher un volume à un conteneur
podman run -v <VOL_NAME>:<PATH> <IMG>
Supprimer un volume
podman volume rm <VOL_NAME>
Supprimer les volumes inutilisés
podman volume prune
Débogage et monitoring
Afficher les logs d'un conteneur
podman logs <CT_NAME>
Afficher l'utilisation des ressources des conteneurs actifs
podman stats
Lancer un shell dans un conteneur
podman exec -it <CT_NAME> bash
Afficher les informations détaillées d'un conteneur
podman inspect <CT_NAME>
Divers
Construire une image à partir d'un conteneur existant
podman commit <CT_NAME> <IMG>
Copier des données du conteneur sur l'hôte
podman cp <CT_NAME>:<PATH/TO/FILE> <HOST_PATH>
Copier des données de l'hôte sur le conteneur
podman cp <HOST_PATH> <CT_NAME>:<PATH/TO/FILE>
Nettoyer les ressources inutilisées (volumes, conteneurs, images)
podman system prune -a
Podman Compose
Podman Compose est équivalent à Docker Compose et permet de construire des stacks à partir d'un fichier docker-compose.yml.
Démarrer une stack
podman-compose up -d
Arrêter une stack
podman-compose down
Afficher toutes les stacks actives
podman-compose ls
Afficher les logs de tous les services de la stack
podman-compose logs
Exécuter une commande unique dans un service
podman-compose run <SVC_NAME> <COMMAND>
Mettre à jour et reconstruire un service spécifique
podman-compose up -d --no-deps <SVC_NAME>
Arrêter un service spécifique
podman-compose stop <SVC_NAME>