Cómo instalar Podman, alternativa a Docker, en Proxmox VE usando una máquina virtual Debian
por Raúl UnzuéPodman vs Docker
Llevo años trabajando y escribiendo sobre Docker, pero existen otros proyectos que también se están usando mucho en entornos profesionales o de desarrollo. Uno de ellos es Podman, y hoy voy a intentar mostraros en qué consiste, qué diferencias existen con respecto a Docker, y cómo podemos montarlo bajo Proxmox en una máquina virtual.
Antes de ir al grano, comentar que Podman, como Docker, es un motor de contenedores de código abierto desarrollado o impulsado por Red Hat.
Qué cambia respecto a Docker
Una de las ventajas de usar Podman es que casi todos los comandos son los mismos (ps, run, exec, logs, images...). Así que no tendrás que empezar de cero para usarlo.
Lo que sí cambia:
- En Docker disponemos un demonio "dockerd", que si cae, caen todos los contenedores que están corriendo en el sistema. En Podman ese punto de fallo único no existe, cada contenedor lo lanza cada usuario.
- Otra diferencia es que un usuario normal, ejecuta contenedores usando "user namespaces", con lo que, a nivel de seguridad, un proceso comprometido dentro del contenedor no es root en el host. Esto reduce bastante el daño posible a tu infraestructura.
- Ambos usan imágenes OCI de registros públicos como "Docker Hub", pero Podman te solicitará el nombre completo, lo que lo hace más seguro. Para que entendáis la diferencia os muestro un ejemplo de como lanzaríamos un contenedor:
- Docker: "docker run -d nginx"
- Podman: "podman run -d docker.io/library/nginx:alpine"

Crear máquina virtual en Proxmox para Podman
Para poder "correr" contenedores y montar nuestro servidor Podman, usaremos una máquina virtual Debian bajo Proxmox, en vez de un contenedor LXC.
Así que creamos nuestra máquina virtual con estos valores:
- Para sistema operativo usaré Debian 13, que trae alguna ventaja adicional que por ejemplo, Debian 12 (por ejemplo, la herramienta Quadlet):
- Mínimo 2 vCPU, 2 GB de RAM y 16-32 GB de disco
- Para la CPU, el tipo debemos elegir "host":
- Para poder trabajar con el servidor necesitaremos habilitar SSH
- Usaremos un usuario normal para que ejecute los contenedores
- Instalaremos adicionalmente las QEMU Guest Agent (VMware Tools de Proxmox):
su -apt update && apt upgrade -yapt install -y qemu-guest-agent systemctl enable --now qemu-guest-agent
Con esto tenemos preparada nuestra máquina virtual para realizar la instalación de Podman.
Instalar Podman en Debian 13
Nos conectamos a nuestro servidor vía SSH con el usuario "normal":

Cambiamos al usuario "root":

Actualizamos el sistema antes de hacer la instalación:
apt update && apt upgrade -y

Lanzamos el siguiente comando:
apt install -y podman podman-compose uidmap

Con el servidor instalado, vamos a realizar varias comprobaciones posteriores:
Comprobar permisos usuario para Podman
Para lanzar los contenedores, usuarios el usuario "normal" (no root), pero para ello debemos validar que tiene rangos de UID/GID subordinados, ya que si sale vacío Podman no podrá mapear usuarios y fallará al arrancar el primer contenedor:
grep elblogdenegu /etc/subuid /etc/subgid

Evitar parada de contenedores al cerrar sesión SSH
Lanzaremos el siguiente comando para evitar que los contenedores se paren si los lanzamos bajo una sesión SSH:
loginctl enable-linger elblogdenegu
![]()
Comprobar estado Podman
Ahora con el usuario "normal" revisamos el estado de Podman:
podman info | grep -i rootless

Debe devolver:
rootless: true
Lanzar primer contenedor Podman
Para primer contenedor, lanzaremos un contenedor Nginx con el siguiente comando:
podman run -d --name mi-web -p 8080:80 docker.io/library/nginx:alpinepodman ps

Comprobaremos desde otro equipo de la red el acceso a la IP de la máquina virtual por el puerto 8080 (http://IP-DE-LA-VM:8080):

Podemos revisar los logs si tenemos algún problema o queremos tener más detalle:
podman logs mi-web

Para parar y borrar el contenedor, usaremos:
podman stop mi-webpodman rm mi-web

Quadlet: Contenedores arrancados en el reinicio
Hemos visto cómo hacer que los contenedores sobrevivan a un cierre de sesión, ahora debemos estar preparados para que la máquina virtual se reinicie, y vuelva a correr contenedores. Algo útil si trabajas en producción.
Lanzamos los siguientes comandos:

Con el siguiente contenido:
[Unit]Description=Nginx de prueba[Container]Image=docker.io/library/nginx:alpine
PublishPort=8080:80[Service]Restart=always[Install]WantedBy=default.target

Y lo activamos con los siguientes comandos:
systemctl --user daemon-reloadsystemctl --user start mi-web
systemctl --user status mi-web

Lo validamos reiniciando la máquina virtual:

Y volvemos a comprobar con "podman ps":

Podman o Docker en la empresa
La pregunta que se hace una empresa, y es lo más normal, casi nunca es cuál de los dos es mejor, sino qué le cuesta cambiar y qué gana a cambio.
Y la respuesta cambia según de dónde partas:
- Si ya tienes Docker en producción y funciona, no migraría por ser la "novedad". Un parque de servidores con Compose, pipelines de CI montados y un equipo que lo domina tiene un valor que no sale en ninguna comparativa. Migrar cuesta pruebas, formación e incidencias raras, y el beneficio tiene que ser concreto, un requisito de seguridad que hoy no cubres o un gasto en licencias que ya no te compensa.
- Para que os hagáis una idea con "datos", según Stack Overflow Developer Survey:
- Podman ha aumentado significativamente su cuota de uso, que no era más de un 5% al 10% del mercado en 2025 y un 13% en 2026
- Docker por el contrario, tenía una cuota del 71.1% en 2025 y ahora mismo está en un 59.1%
- Para que os hagáis una idea con "datos", según Stack Overflow Developer Survey:
- Si estás montando una plataforma nueva sobre servidores Linux, empezaría por Podman. Con Quadlet, los contenedores son servicios de systemd normales, se arrancan, se vigilan y se registran con las mismas herramientas con las que ya administras el resto de la máquina.
No hay un demonio central ni un socket con privilegios de root que proteger. En entornos con RHEL y derivadas, además, es la opción que trae soporte oficial, y eso en una auditoría pesa más de lo que parece.
Docker conserva ventaja en el escritorio del desarrollador y en el ecosistema. Muchas herramientas asumen el socket de Docker, y Docker Desktop sigue siendo la experiencia más cómoda en Windows y macOS. Pero ojo con su licencia, es de pago a partir de cierto tamaño de empresa (250 empleados o 10 millones de dólares de facturación, según las condiciones que conozco). Docker Engine en Linux sigue siendo software libre, así que el coste aparece en los puestos de trabajo, no en los servidores.
Docker también ha evolucionado, y por ejemplo, también tiene modo rootless. La diferencia es que en Podman está por diseño y en Docker es una configuración añadida con ciertas limitaciones.
En mi opinión, en servidores Linux nuevos, Podman. En equipos de desarrollo con flujos de Docker consolidados, Docker, y valorar Podman Desktop solo si la licencia es un problema real (cosa poco probable por el volumen de la empresa media española).
Sinceramente, antes de decidir, habría que probar con una aplicación de verdad. Los permisos, el almacenamiento y las herramientas que dependen del socket son los que te dirán si el cambio compensa.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!



