Podman Compose es una herramienta que permite orquestar múltiples contenedores utilizando archivos YAML compatibles con Docker Compose. A diferencia de Docker, Podman funciona sin un demonio central (daemonless) y no requiere privilegios de root para ejecutar contenedores. En este artículo aprenderás cómo instalar podman-compose, crear un archivo docker-compose.yml y levantar un stack completo de WordPress + MariaDB.

Instalación de podman-compose

Podman Compose está disponible en los repositorios oficiales de las principales distribuciones. En Debian/Ubuntu y derivados se instala con el gestor de paquetes apt:

sudo apt update
sudo apt install podman-compose -y

En sistemas Fedora o RHEL, puedes usar dnf:

sudo dnf install podman-compose -y

Verifica la instalación correcta con:

podman-compose --version

Ejemplo práctico: WordPress + MariaDB

Vamos a crear un archivo docker-compose.yml que levante un sitio WordPress junto con una base de datos MariaDB. El stack utiliza redes y volúmenes de Podman para persistir los datos.

version: "3.8"

services:
  db:
    image: docker.io/library/mariadb:10.11
    container_name: wordpress_db
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - wp_net
    restart: unless-stopped

  wordpress:
    image: docker.io/library/wordpress:latest
    container_name: wordpress_app
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html
    networks:
      - wp_net
    depends_on:
      - db
    restart: unless-stopped

volumes:
  db_data:
  wp_data:

networks:
  wp_net:

Comandos esenciales de Podman Compose

Una vez creado el archivo docker-compose.yml, los comandos para gestionar el stack son prácticamente idénticos a los de Docker Compose. Aquí tienes los más importantes:

Iniciar los contenedores en segundo plano

podman-compose up -d

Con -d los contenedores se ejecutan en modo detached (segundo plano).

Ver el estado de los servicios

podman-compose ps

Ver los logs en tiempo real

podman-compose logs -f

Detener y eliminar los contenedores

podman-compose down

El comando down detiene y elimina los contenedores, pero conserva los volúmenes con los datos de la base de datos y los archivos de WordPress. Si deseas eliminar también los volúmenes, añade la bandera -v:

podman-compose down -v

Conclusión

Podman Compose ofrece una experiencia de orquestación multi-contenedor sin necesidad de un demonio centralizado, lo que mejora la seguridad y simplifica la gestión en entornos rootless. Al ser compatible con docker-compose.yml, la curva de aprendizaje es mínima para quienes vienen de Docker. Con apt install y un archivo YAML puedes tener un stack completo funcionando en cuestión de minutos.