podman run · ps · exec · logs · stop · rm
Démarrer un conteneur et le piloter au quotidien
Un conteneur = un processus isolé du reste du système (réseau, FS, namespaces utilisateur) démarré à partir d'une image. podman run télécharge l'image si nécessaire, crée le conteneur et le démarre. podman est rootless par défaut : un utilisateur normal peut lancer un conteneur sans sudo, contrairement à Docker historiquement.
Flags de podman run essentiels
| -d | Detached : tourne en arrière-plan, renvoie l'ID. Sans -d, on est attaché à stdout. |
| --name NOM | Nom symbolique (sinon nom aléatoire type quirky_einstein). |
| -p HOTE:CONTAINER | Publie un port. -p 8080:80 = port 80 du conteneur exposé sur le 8080 de l'hôte. |
| -v CHEMIN:CHEMIN[:ro] | Monte un volume. :Z ou :z ajoutent un label SELinux (RHEL/Fedora). |
| -e VAR=VAL | Variable d'environnement passée au conteneur. |
| --rm | Supprime automatiquement le conteneur quand il s'arrête (idéal pour les tests éphémères). |
| -it | Mode interactif + TTY — pour ouvrir un shell ou lancer une commande qui attend de l'input. |
| --network=host | Conteneur sur la pile réseau de l'hôte (pas d'isolation), équivalent ip a de l'hôte visible dedans. |
| --restart=always | Redémarre tout seul s'il crash. unless-stopped = sauf si on l'a arrêté volontairement. |
$ podman run --rm -it docker.io/library/alpine sh
$ podman run -d --name web -p 8080:80 docker.io/library/nginx
$ podman ps
CONTAINER ID IMAGE STATUS PORTS NAMES 7a3f1c2e8b4d docker.io/library/nginx:latest Up 2 minutes 0.0.0.0:8080->80/tcp web
$ podman logs -f web
tail -f. Sans -f, dump tout puis sort. --tail 100 limite aux 100 dernières lignes.$ podman exec -it web sh
$ podman stop web
podman rm web
podman stop -a && podman rm -a # tout d'un coup
-a = all. Les conteneurs supprimés ne sont pas récupérables, mais l'image elle reste — pour la supprimer aussi : podman rmi IMAGE.Voir aussi : podman build · image podman pod · systemd ps