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.