Skip to content

Tema:

Introducción a Contenedores en Podman (Ejecución y Creación)


🎯 Introducción

Podman (Pod Manager) es una herramienta de línea de comandos de código abierto desarrollada por Red Hat para crear, ejecutar, administrar y compartir contenedores y pods compatibles con OCI (Open Container Initiative). Surgió como una alternativa moderna a Docker, enfocada en la seguridad, portabilidad y operación sin daemon (daemonless).

A diferencia de Docker, Podman no utiliza un servicio en segundo plano, lo que lo hace ideal para entornos en los que se requiere mayor control sobre la ejecución de procesos, como servidores multiusuario o sistemas con políticas de seguridad estrictas. Cada comando en Podman es independiente y se ejecuta como un proceso hijo del usuario que lo invoca.

Uno de los aspectos más potentes de Podman es su modo rootless, que permite a los usuarios gestionar contenedores sin privilegios de superusuario, lo que reduce drásticamente los riesgos de seguridad.

Además, Podman es completamente compatible con los comandos de Docker. Por ejemplo, los comandos docker run, docker build o docker ps pueden ser sustituidos directamente por podman run, podman build y podman ps sin necesidad de cambiar el flujo de trabajo. Incluso se puede crear un alias para mantener la compatibilidad:

alias docker=podman

Esto permite una transición fácil de Docker a Podman, sin tener que reaprender comandos.

🧩 ¿Qué es un Pod en Podman?

Un pod es una estructura que agrupa uno o más contenedores que comparten el mismo espacio de red, lo que incluye: - IP - Puertos - Espacio de nombres de red (network namespace)

Este concepto se origina en Kubernetes, donde el pod es la unidad mínima de despliegue. Podman lo implementa para que los desarrolladores puedan trabajar de forma local simulando ambientes que luego escalarán en un clúster real de Kubernetes.

📦 Dato importante: cuando se crea un contenedor con podman run sin especificar un pod, Podman automáticamente crea un pod “por detrás” para ese contenedor.

🔧 ¿Para qué sirve un pod?

Los pods son útiles en diferentes escenarios, como:

  • 🧩 Agrupar contenedores que necesitan comunicarse entre sí a través de localhost sin configurar redes adicionales.
  • ⚗️ Simular arquitecturas de Kubernetes en desarrollo local sin necesidad de herramientas complejas.
  • 🧱 Organizar servicios interdependientes, por ejemplo: Un contenedor para una aplicación web, Otro para la base de datos, Otro para monitoreo o logging.

Todos estos pueden convivir dentro de un mismo pod y funcionar como una unidad lógica de despliegue.

🚀 Beneficios clave de Podman

  • Sin daemon: no requiere servicio en segundo plano.
  • Modo rootless: ejecuta contenedores sin privilegios de root.
  • Compatible con Docker CLI: transición sin fricción.
  • Soporte nativo de pods: ideal para entornos similares a Kubernetes.
  • Seguridad reforzada: integración con SELinux, cgroups, seccomp y namespaces.