Podman Compose : alternative à Docker Compose
Podman Compose permet d’utiliser les fichiers docker-compose.yml avec Podman.
Installation
Podman Compose est écrit en Python et s’installe via pip :
# apt install python3-pip
$ pip3 install podman-compose
Ou directement depuis les dépôts Debian (si disponible) :
# apt install podman-compose
Utilisation
Les commandes sont similaires à Docker Compose.
Lancer les services :
$ podman-compose up -d
Arrêter les services :
$ podman-compose down
Voir l’état :
$ podman-compose ps
Voir les logs :
$ podman-compose logs
Exemple de fichier docker-compose.yml
Le même fichier que pour Docker Compose fonctionne :
services:
web:
image: nginx:latest
container_name: web
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
db:
image: mariadb:latest
container_name: db
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: app
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
Différences avec Docker Compose
- Podman Compose crée un pod pour regrouper les conteneurs
- Le réseau entre conteneurs fonctionne via le pod
- Certaines options avancées peuvent ne pas être supportées
Pour une compatibilité maximale, on peut aussi utiliser docker-compose avec le socket Podman :
$ export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock
$ docker-compose up -d