Docker y Podman hacen lo mismo: ejecutar contenedores con imágenes del mismo formato, sacadas de los mismos registros y lanzadas con casi los mismos comandos. podman run acepta prácticamente todo lo que acepta docker run, y la mayoría de los ficheros de Compose funcionan en los dos. La diferencia está en cómo lo hacen por dentro, y de ahí salen las demás: la seguridad, cómo encajan con el sistema y cuánto cuesta usarlos en una empresa.
En rendimiento, en cambio, la diferencia es mucho menor de lo que se suele leer. Los estudios publicados muestran que los dos quedan muy cerca de ejecutar el programa directamente en el sistema, y que lo que más pesa en el resultado es el tipo de carga, no el motor.
| Docker Engine 29.8 | Podman 6.1 | |
| Arquitectura | Servicio (dockerd) siempre en marcha, con containerd y runc | Sin servicio: cada contenedor es un proceso más, con conmon y crun |
| Privilegios por defecto | Root (el modo sin root existe, pero hay que activarlo) | Sin root |
| Red sin root | slirp4netns o pasta, si activas el modo rootless | pasta, por defecto |
| Pods | No | Sí, como en Kubernetes |
| Integración con systemd | Con unidades escritas a mano | Quadlet: un fichero .container y systemd hace el resto |
| Compose | Docker Compose 5.5 | podman compose, que usa docker-compose o podman-compose |
| Licencia | Apache 2.0 (Engine); Docker Desktop, de pago en empresas grandes | Apache 2.0; Podman Desktop, gratis |
| Última versión (septiembre de 2026) | 29.8.1, del 15 de septiembre | 6.1.2, del 16 de septiembre |
En resumen
- Para un servidor casero con Linux, Podman es la opción más limpia: sin servicio en segundo plano, sin root por defecto y con Quadlet para que systemd arranque y vigile los contenedores.
- Si usas un NAS de Synology, Unraid o TrueNAS, la decisión ya está tomada: todos usan Docker.
- Si tu día a día son stacks de Compose copiados de guías y repositorios, Docker sigue dando menos sorpresas.
- En rendimiento puro, no elijas por eso. La diferencia es pequeña y cambia de signo según la prueba.
La diferencia de fondo: con servicio o sin él
Docker funciona con un servicio, dockerd, que está siempre en marcha y normalmente con permisos de root. El comando docker no ejecuta nada por sí mismo: le pide al servicio que lo haga, y el servicio se apoya en containerd y en runc para crear el contenedor. Todos tus contenedores cuelgan de ese proceso.
Podman no tiene servicio. Cuando escribes podman run, el propio comando crea el contenedor con crun, su motor por defecto, y deja un pequeño proceso vigilante, conmon, por cada contenedor. Si no hay contenedores, no hay nada de Podman ejecutándose.
De ahí salen tres consecuencias prácticas:
- Seguridad. En Docker, quien puede hablar con el servicio puede, en la práctica, hacer cualquier cosa como root en la máquina: por eso añadir un usuario al grupo
dockerequivale a darle root. Podman funciona sin root por defecto: cada usuario tiene sus contenedores, y un contenedor comprometido parte de los permisos de ese usuario, no de los del sistema. Docker también tiene un modo sin root, pero hay que instalarlo y activarlo aparte. - Un único punto de fallo. Si el servicio de Docker se reinicia o se cuelga, afecta a todos los contenedores a la vez. En Podman cada contenedor es independiente.
- Encaje con el sistema. Como en Podman un contenedor es un proceso normal, systemd puede gestionarlo directamente. Es la base de Quadlet, que explicamos más abajo.
Podman trae además pods, grupos de contenedores que comparten red, igual que en Kubernetes, y puede generar y leer ficheros YAML de Kubernetes con podman kube generate y podman kube play. Docker no tiene equivalente.
Rendimiento: qué dicen los estudios
Es donde más cifras sin contexto circulan, y donde menos importa la elección. El estudio más completo que compara los dos motores es A qualitative and quantitative analysis of container engines, publicado en 2024 en Journal of Systems and Software. Mide Docker, Podman y otros motores frente a ejecutar el mismo programa directamente en la máquina, con pruebas de CPU, memoria, disco, red y aplicaciones reales. Sus conclusiones:
- Los contenedores apenas añaden coste en la mayoría de las pruebas: los resultados quedan muy cerca de los de la máquina sin contenedores.
- Podman queda muy cerca del sistema sin contenedores, y Docker muestra una pequeña pérdida en algunas pruebas concretas: la generación de ficheros, el servidor web nginx y una aplicación de blog.
- No siempre gana el mismo. En lectura de disco, Docker perdió un 7 % frente al sistema y Podman un 9 %.
- Hay pruebas en las que todos pierden por igual: en las de Python, todos los motores de uso general quedaron alrededor de un 30 % por debajo del sistema sin contenedores. Ese coste es de los contenedores en general, no de uno u otro.
Otros trabajos apuntan en la misma dirección: Podman suele arrancar antes los contenedores pequeños y de vida corta, y la ventaja se diluye en los grandes y de larga duración. Desconfía de cualquier comparación que dé una sola cifra de «X % más rápido»: depende de la carga y de cómo se configure cada uno.
Lo que sí se nota
- En reposo, Docker siempre consume algo, porque su servicio está en marcha aunque no haya contenedores. Podman no consume nada. En un servidor potente da igual; en una Raspberry Pi o un miniPC modesto, cada megabyte cuenta.
- La red sin root es más lenta que la red con root, en los dos. Podman usa por defecto pasta, que es bastante más rápida que el antiguo slirp4netns, pero para un servicio con mucho tráfico conviene medir, o usar la red del sistema.
Compose, Quadlet y el día a día
Los comandos son casi idénticos. Muchos usuarios de Podman se limitan a crear el alias alias docker=podman y siguen con sus costumbres. Las imágenes son las mismas, del formato estándar OCI, y se descargan de Docker Hub o de cualquier otro registro.
Compose es donde aparecen las diferencias. Docker Compose va integrado en Docker y es la referencia: casi todas las guías de self-hosting traen su compose.yaml. Podman lo resuelve con podman compose, que por debajo usa el propio docker-compose, hablándole a Podman como si fuera Docker, o la herramienta podman-compose. Los ficheros sencillos funcionan igual; con funciones avanzadas, como secretos durante la construcción, algunos healthchecks o los perfiles, pueden aparecer diferencias.
Quadlet es la gran baza de Podman. Escribes un fichero corto con la extensión .container, lo dejas en la carpeta de configuración de systemd y el sistema se encarga de crear el contenedor, arrancarlo con la máquina, reiniciarlo si falla y guardar sus registros junto a los del resto del sistema. Para un servidor casero que tiene que funcionar solo durante meses, es más robusto que depender de las políticas de reinicio de Docker.
Para las redes, que es donde más dudas surgen al montar varios servicios, tenemos una guía aparte: los 6 tipos de redes de Docker y cuál necesitas. Los conceptos se aplican casi igual en Podman.
Cuánto cuesta cada uno
Aquí hay un malentendido muy extendido: Docker Engine es gratuito, con licencia libre Apache 2.0, y en un servidor Linux no se paga nada por usarlo, sea para uso personal o para una empresa.
Lo que es de pago es Docker Desktop, la aplicación para Windows y macOS, y solo para empresas de más de 250 empleados o de más de 10 millones de dólares de facturación anual. Para ellas, las suscripciones cuestan 9 dólares al mes por usuario el plan Pro, 15 el Team y 24 el Business, unos 8, 13 y 21 €, respectivamente, con pago anual. En una empresa de 50 programadores con el plan Business, son unos 14.400 dólares al año, unos 12.400 €.
Podman y Podman Desktop son gratuitos para todo el mundo, sin límites por tamaño de empresa. Esa es la razón por la que muchas empresas han cambiado de Docker Desktop a Podman Desktop en los portátiles de sus equipos, aunque en los servidores sigan con Docker Engine.
Cuál elegir
Un NAS de Synology, Unraid o TrueNAS. Docker, sin discusión: es lo que usan sus gestores de contenedores, y no tiene sentido pelearse con el sistema. Si tienes un Synology, en las mejores aplicaciones para Synology hay unas cuantas que se instalan como contenedor.
Un servidor casero con Linux, un miniPC o una Raspberry Pi. Podman con Quadlet si partes de cero y quieres algo sólido: nada en marcha que no haga falta, contenedores sin root y systemd vigilándolos. Docker si vas a copiar muchos stacks de Compose de guías y foros y prefieres que funcionen a la primera.
Fedora, RHEL, AlmaLinux o Rocky Linux. Podman: viene instalado y es la herramienta oficial de estas distribuciones. Red Hat lo usa en lugar de Docker desde RHEL 8.
Un portátil de trabajo con Windows o macOS en una empresa grande. Podman Desktop te ahorra la licencia de Docker Desktop. Es algo menos maduro, así que conviene probarlo con los proyectos reales del equipo antes de cambiar a todo el mundo.
Aprender contenedores. Cualquiera de los dos: lo que aprendes sirve para ambos. Docker tiene más documentación y más respuestas en foros; Podman te acostumbra a trabajar sin root desde el principio.
Una aclaración frecuente: Kubernetes no usa ninguno de los dos para ejecutar contenedores desde la versión 1.24, de 2022, cuando quitó su adaptador para Docker. Usa directamente containerd o CRI-O. Las imágenes que construyes con Docker o con Podman funcionan igual en Kubernetes.










