Skip to main content

Utilisation de Podman Compose

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