Podman vs Docker

Podman (el POD MANager) es una herramienta para gestionar contenedores e imágenes, volúmenes montados en esos contenedores y pods compuestos por grupos de contenedores. Totalmente basada en libpod, una biblioteca para la gestión del ciclo de vida del contenedor que también está incluida en este repositorio. La biblioteca libpod proporciona APIs para gestionar contenedores, pods, imágenes de contenedor y volúmenes.
Esta increíble herramienta es un proyecto de código abierto que está disponible en la mayoría de las plataformas Linux y reside en GitHub.
Finalmente, Podman proporciona un front-end de línea de comandos compatible con Docker que puede simplemente crear un alias para el Docker CLI, alias docker = podman.
Principales diferencias entre Docker y Podman

-
Docker tiene dos bloques principales: Docker CLI y Docker Daemon.
-
Docker Daemon: es un proceso constante en segundo plano que ayuda a gestionar imágenes de Docker, contenedores, redes y volúmenes de almacenamiento. Además, existe una API REST de Docker Engine para interactuar con el daemon de Docker, accedida mediante el protocolo HTTP.
-
Docker CLI es el cliente de línea de comandos de Docker para interactuar con el daemon de Docker. Naturalmente lo usamos cuando ejecutamos cualquier comando de Docker.
Debido a esta arquitectura, Docker tiene algunos problemas:
-
Docker se ejecuta en un único proceso (y todos los procesos hijos pertenecen a este proceso), lo que puede resultar en un único punto de falla;
-
Si el daemon de Docker falla, todos los procesos hijos perderán el control y entrarán en estado huérfano;
-
Todos los pasos deben ser ejecutados por root para las operaciones de Docker.
Ventajas de Podman
-
Mientras tanto, Podman fue creado sin daemon, aun así, es posible desarrollar, gestionar y ejecutar contenedores OCI en su sistema Linux. Los contenedores pueden ejecutarse como root o en modo rootless. Con esto, tiene algunos beneficios adicionales como:
-
Interactúa directamente con el registro de imágenes, contenedores y almacenamiento de imágenes;
-
Docker está construido sobre un runtime de contenedores llamado runC y usa Daemon, en lugar de usar el daemon, Podman está usando directamente runC;
-
No hay necesidad de iniciar o gestionar un proceso de daemon;
-
Hay compatibilidad entre imágenes de Podman y Docker.