Podman: una alternativa para los contenedores con Docker

julio 29, 2020 , 0 Comments

Podman

Podman es un motor de contenedores (container engine) que puede ser un sustituto para Docker. Este motor ha sido desarrollado por la compañía Red Hat (ahora propiedad de IBM) y pretende ir desplazándolo poco a poco. ¿Lo conseguirá? Bueno, ya veremos…

El proyecto de código abierto tiene una gran facilidad de uso, lo que es un gran atractivo. Tal es la facilidad que existe un artículo de Dan Walsh, un ingeniero de Red Hat, en el que muestra los pasos de una migración para reemplazar Docker con Podman, y eran estos:


dnf install -y podman

alias docker=podman

Y bajo esa descripción terminaba diciendo «¿Alguna pregunta?» con un poco de humor por lo sencillo que es…

Además de eso, si ya estás acostumbrado a usar Docker tampoco te tienes que preocupar demasiado por los comandos, ya que Podman usa los mismos en su mayoría. Es decir, si para correr un contenedor tienes que usar docker run, para hacerlo con este otro proyecto tienes que usar podman run. Así de sencillo para recordar las opciones.

Bien, hasta aquí todo parece similar. Ambos proyectos son buenos, de código abierto, trabajan con contenedores, son sencillos, usan la misma sintaxis, etc. Pero ¿entonces? ¿Qué tiene Podman para hacer que merezca la pena tenerlo? Pues bien, una de las diferencias es que no está basado en demonios (servicios en el mundo *nix).

Como sabes, Docker sí que tiene su demonio asociado. Ese demonio es único y centralizado, lo que quiere decir que mientras más contenedores uses, su complejidad irá creciendo y haciéndose más y más pesado. Por eso Red Hat ha decidido crear esta otra herramienta para corregir esa desventaja.

En Podman se han descentralizado los componentes para la gestión de contenedores y así evitar ese ensanchamiento del demonio como ocurre en Docker. Esos componentes individuales solo son usados cuando sean necesarios, lo que dejará un menor consumo de recursos.

Además de esa ventaja tiene otra gran ventaja. Podman puede gestionar contenedores de la misma forma que Docker, pero también puede hacerlo con Pods, es decir, las unidades que se usan en Kubernetes. La diferencia esencial entre un contenedor y un Pod es que cada Pod puede contener a su vez más de un contenedor.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.