Sommaire
Module V5 – Conteneurisation avec Podman
📘 Fiche de cours
⏱️ 3h
🎯 Bloc 2 – SISR
Objectifs : découvrir Podman, alternative à Docker sans daemon, gérer les pods, les volumes et utiliser Quadlet.
Objectifs : découvrir Podman, alternative à Docker sans daemon, gérer les pods, les volumes et utiliser Quadlet.
📖 Introduction
Podman est un moteur de conteneurs open-source, sans daemon, compatible avec les commandes Docker. Il permet d'exécuter des conteneurs et des pods (groupes de conteneurs) de manière sécurisée, sans privilèges root.
À l'issue de ce module, vous serez capable de :
- Installer Podman et comprendre son architecture sans daemon.
- Exécuter des conteneurs avec Podman.
- Créer et gérer des pods.
- Utiliser Podman pour les volumes, les réseaux et Quadlet.
📐 Podman vs Docker
| Caractéristique | Podman | Docker |
|---|---|---|
| Daemon | Sans daemon (fork/exec) | Avec daemon (dockerd) |
| Mode rootless | Natif | Nécessite configuration |
| Pods | Support natif (comme Kubernetes) | Non (via Docker Compose) |
| Compatibilité | Commandes similaires à Docker | Standard de fait |
⚙️ Installation de Podman
- Debian/Ubuntu :
apt install podman - RHEL/CentOS/Fedora :
dnf install podman - Vérification :
podman --version
📦 Commandes Podman
- Lister les conteneurs :
podman ps -a - Exécuter un conteneur :
podman run -d --name nginx nginx:alpine - Arrêter/supprimer :
podman stop nginx ; podman rm nginx - Images :
podman images,podman pull
🧩 Gestion des pods
- Pod : groupe de conteneurs partageant le même réseau et espace de noms.
- Création :
podman pod create --name web-pod -p 8080:80 - Ajout de conteneurs :
podman run -d --pod web-pod nginx:alpine - Lister les pods :
podman pod ls
💾 Volumes et réseaux
- Volume :
podman volume create data - Monter un volume :
podman run -v data:/data nginx - Réseau :
podman network create app-net
📄 Quadlet (Podman + systemd)
- Principe : utiliser des fichiers .container, .pod, .volume pour définir des unités systemd.
- Emplacement : /etc/containers/systemd/
- Exemple : créer un fichier nginx.container.
🛠️ Mise en pratique
8.1 – Exécuter un conteneur Nginx
Lancer un conteneur Nginx avec Podman :
podman run -d --name web -p 8080:80 nginx:alpine
podman run: lance un conteneur.-d: détaché.--name web: nom du conteneur.-p 8080:80: redirection de ports.
8.2 – Créer un pod avec deux conteneurs
Créer un pod avec Nginx et un serveur de fichiers :
podman pod create --name web-pod -p 8080:80 podman run -d --pod web-pod nginx:alpine podman run -d --pod web-pod alpine httpd -f -h /www
podman pod create: crée le pod.--pod web-pod: ajoute le conteneur au pod.- Les conteneurs partagent le même réseau.
📝 Exercices d'application
Exercice 1 – Commandes Podman
Quelle commande liste les conteneurs en cours d'exécution avec Podman ?
podman ps
Exercice 2 – Pod
Quelle commande permet de créer un pod ?
podman pod create --name nom-pod
🎯 Quiz d'auto‑évaluation
1. Podman fonctionne sans :
2. Un pod Podman est :
3. Podman est compatible avec les commandes :
4. Quadlet est un outil pour intégrer Podman avec :
5. La commande podman pod ls permet de :
📚 Ressources et liens utiles
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter