Dado que en Red Hat Enerprise Linux 8 (RHEL 8) se ha in­te­rru­m­pi­do el soporte oficial para la popular he­rra­mie­n­ta de gestión de co­n­te­ne­do­res conocida como Docker, los ad­mi­ni­s­tra­do­res deben estar al tanto de una nueva opción. Podman, que también es de Red Hat, se considera el sucesor directo de Docker y, como prescinde de un daemon central y de la necesidad de pri­vi­le­gios root, es capaz de disipar las preo­cu­pa­cio­nes de seguridad que generaba su pre­de­ce­sor. Por los demás aspectos, ambas he­rra­mie­n­tas son similares, aunque Podman sigue teniendo algunos errores con los que lidiar.

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad

¿Qué son Docker y Podman?

Docker es una de las so­lu­cio­nes de co­n­te­ne­do­res más populares, pero ya no recibe soporte oficial Red Hat Enerprise Linux 8 y, por tanto, ha pasado a ser historia. Red Hat, sin embargo, pro­po­r­cio­na la solución al problema de forma directa con Podman. Red Hat anuncia el entorno CRI-O como una solución equi­va­le­n­te 1:1, así que los afi­cio­na­dos a Docker no tienen por qué preo­cu­par­se. Otra cuestión co­m­ple­ta­me­n­te diferente es si Podman ve­r­da­de­ra­me­n­te puede sustituir a Docker sin im­ple­me­n­tar re­s­tri­c­cio­nes. Para poder responder a esta pregunta, conviene primero examinar de cerca ambas te­c­no­lo­gías de co­n­te­ne­do­res.

¿Qué es Docker?

Desde que Docker surgió como software de código abierto en 2013, esta te­c­no­lo­gía ha gozado de gran po­pu­la­ri­dad. Docker permite a los usuarios un enfoque más abierto; es una solución sencilla y al mismo tiempo práctica y segura para el de­sa­rro­llo de apli­ca­cio­nes. La imagen de un co­n­te­ne­dor facilita el tra­n­s­po­r­te e in­s­ta­la­ción de paquetes de datos. Una sola imagen Docker puede crear un número ilimitado de co­n­te­ne­do­res para, por ejemplo, crear OpenStack clouds. Docker está co­m­ple­ta­me­n­te aislado, a excepción de algunas in­te­r­fa­ces con el sistema operativo o el hardware. Los co­n­te­ne­do­res solo contienen la in­fo­r­ma­ción realmente necesaria, por lo que son re­la­ti­va­me­n­te ligeros.

¿Qué es Podman?

Docker va a ser su­s­ti­tui­do por Podman, al menos esa es la intención de Red Hat Linux. Podman está pensado como un gestor de pods para la creación y posterior pro­ce­sa­mie­n­to de co­n­te­ne­do­res y es co­m­pa­ti­ble con las es­pe­ci­fi­ca­cio­nes de co­n­te­ne­do­res OCI. A di­fe­re­n­cia de Docker, Podman no necesita derechos root, por lo que es su­pue­s­ta­me­n­te más seguro en co­m­pa­ra­ción con Docker. Podman está basado en Docker y fue ori­gi­na­l­me­n­te concebido como una he­rra­mie­n­ta de debugging que terminó co­n­vi­r­tié­n­do­se en una al­te­r­na­ti­va o sucesor a las antiguas he­rra­mie­n­tas de gestión. Para facilitar la tra­n­si­ción de uno a otro, Podman reconoce y permite utilizar los comandos de Docker. Pero esto por sí solo no convierte a Podman en un sucesor equi­va­le­n­te.

¿Puede Podman ve­r­da­de­ra­me­n­te sustituir a Docker?

Esa es pre­ci­sa­me­n­te la cuestión decisiva. Dado que Docker va a dejar de recibir ma­n­te­ni­mie­n­to, los usuarios tienen que adaptarse y encontrar una al­te­r­na­ti­va similar. Mientras que Red Hat Linux ve a Podman como esa al­te­r­na­ti­va, muchos de­sa­rro­lla­do­res no terminan de decidirse o incluso la descartan. Para evaluar ade­cua­da­me­n­te las di­fe­re­n­cias entre Docker y Podman, merece la pena echar un vistazo a los puntos fuertes y débiles del aspirante.

¿Cuáles son las ventajas de Podman?

La mayor ventaja que ofrece Podman frente a Docker es que prescinde de un daemon ce­n­tra­li­za­do y de los derechos root. Esto no solo permite un inicio más rápido, sino que aumenta el nivel de seguridad. El sistema host está protegido y los procesos con derechos root ya no pueden acceder al kernel. La co­m­pa­ti­bi­li­dad que tiene Podman con Docker es también una gran ventaja. Migrar entre los dos sistemas es bastante sencillo y los pasos in­di­vi­dua­les también son muy in­tui­ti­vos para los ad­mi­ni­s­tra­do­res que están aco­s­tu­m­bra­dos a gestionar sistemas con Docker.

Además, con Podman es posible utilizar registros de co­n­te­ne­do­res populares como Docker Hub o Quay.io. También se pueden crear archivos YAML para Ku­be­r­ne­tes. Podman es co­n­si­de­ra­do ex­tre­ma­da­me­n­te rápido y, en co­m­pa­ra­ción con Docker, requiere en general menos espacio de al­ma­ce­na­mie­n­to y es más eficiente. Por lo tanto, Podman es la solución por defecto para muchas di­s­tri­bu­cio­nes de Linux como Fedora CoreOS.

¿Cuáles son las de­s­ve­n­ta­jas de Podman?

Por mucho que Red Hat se haya decidido por Podman, el motor de co­n­te­ne­do­res no está exento de errores. En pa­r­ti­cu­lar, sus defectos de cre­ci­mie­n­to y bugs hacen que muchos ad­mi­ni­s­tra­do­res aún no estén ple­na­me­n­te sa­ti­s­fe­chos con Podman y prefieran otras al­te­r­na­ti­vas a los co­n­te­ne­do­res de Docker o so­lu­cio­nes híbridas como Kata Co­n­tai­ne­rs.

Cuando se trata de co­n­te­ne­do­res, los errores son fre­cue­n­tes. Crear y gestionar co­n­te­ne­do­res a través de un host remoto sin un daemon en la red es difícil. Aunque Podman ofrece so­lu­cio­nes pro­vi­sio­na­les, estos problemas no se han resuelto co­m­ple­ta­me­n­te. Esto también se aplica a la supuesta co­m­pa­ti­bi­li­dad entre Podman y Docker. La he­rra­mie­n­ta más reciente, Podman, aún no entiende todas las so­li­ci­tu­des.

Podman vs. Docker: ¿qué los di­fe­re­n­cia?

Hay que realizar una co­m­pa­ra­ción directa entre ambos sistemas si queremos poder de­te­r­mi­nar si triunfa el cuasi-estándar que ha sido popular durante años o el co­n­te­n­die­n­te del duelo Podman vs. Docker. ¿Cuáles son las di­fe­re­n­cias entre los dos sistemas de gestión?

Podman se gestiona sin un daemon central

A di­fe­re­n­cia de Docker, Podman prescinde de un daemon central para el de­sa­rro­llo, gestión y ejecución de co­n­te­ne­do­res OCI. En cambio, Podman está basado en el concepto de pods de Ku­be­r­ne­tes donde varios co­n­te­ne­do­res se unen dentro de un espacio de nombres común de Linux. Esto crea opciones de co­n­fi­gu­ra­ción y co­m­bi­na­ción flexibles. Docker no ofrece esta po­si­bi­li­dad sin tener que entrar a co­n­fi­gu­rar la he­rra­mie­n­ta Docker Compose.

Derechos root

Esta es también una de las mayores críticas dirigidas a Docker. Su daemon requiere tener derechos root, lo cual crea un riesgo potencial para la seguridad. Es por ello por lo que los co­n­te­ne­do­res de Docker tienen la po­si­bi­li­dad de liberarse y actuar sobre el host. Esto puede provocar daños im­po­r­ta­n­tes en el kernel en de­te­r­mi­na­das ci­r­cu­n­s­ta­n­cias, como cuando un co­n­te­ne­dor mal co­n­fi­gu­ra­do accede al host. Podman soluciona este problema pe­r­mi­tie­n­do que los co­n­te­ne­do­res se inicien sin derechos root. Sin embargo, lo que es positivo desde el punto de vista de la seguridad, también implica ne­ce­sa­ria­me­n­te que los ad­mi­ni­s­tra­do­res no puedan ejecutar comandos en el host que requieran derechos root.

Soporte de Pods

En el duelo Ku­be­r­ne­tes vs. Docker son muchas las di­fe­re­n­cias entre los dos pesos pesados, pero cuando se trata de la or­ga­ni­za­ción de co­n­te­ne­do­res, ambas he­rra­mie­n­tas funcionan bien juntas. Esto cambiará con Ku­be­r­ne­tes 1.24, ya que Ku­be­r­ne­tes abandona el soporte de Docker. Con Podman el trabajo conjunto no es un problema. El propio nombre del nuevo sistema ya indica que (a di­fe­re­n­cia de Docker) también es co­m­pa­ti­ble con los Pods de­sa­rro­lla­dos por Ku­be­r­ne­tes.

Modelo Fork-Exec

A di­fe­re­n­cia de Docker, Podman realiza acciones según el modelo fork-exec y registra los cambios en el sistema auditd. Esto no ocurre con Docker, ya que no existe ningún tipo de registro.

Do­cu­me­n­ta­ción

Sin duda, esta di­fe­re­n­cia se irá re­du­cie­n­do con el tiempo. Sin embargo, ac­tua­l­me­n­te la do­cu­me­n­ta­ción de Docker sigue siendo muy superior a la de Podman. Desde 2013, el “oldie” se ha co­n­ve­r­ti­do más o menos en el estándar y, por ello, cuenta con una enorme comunidad que pro­po­r­cio­na a los ad­mi­ni­s­tra­do­res ayuda y consejos para todo problema que les pueda surgir. Su sucesor, cinco años más joven, aún no consigue mantener el ritmo. Sin embargo, es probable que en el futuro, las dos he­rra­mie­n­tas pro­ba­ble­me­n­te coincidan en este aspecto.

Diseño

Aunque el diseño de Docker y Podman es muy diferente, esto tiene poco impacto en el trabajo diario. Aquellos que están fa­mi­lia­ri­za­dos con Docker pro­ba­ble­me­n­te sepan encontrar la forma de hacerlo con Podman, sobre todo porque muchos comandos son similares y uno se puede adaptar a ellos fá­ci­l­me­n­te.

El cambio de Docker a Podman

Veamos qué es exac­ta­me­n­te lo que hace que el cambio de Docker a Podman sea re­la­ti­va­me­n­te fácil. No solo los comandos como “pull”, “push”, “build”, “run”, “commit”, etc. son en gran medida idénticos, sino que las imágenes Docker también son co­m­pa­ti­bles con Podman. Esto fue el objetivo principal de los de­sa­rro­lla­do­res cuando crearon Podman. Antes de cambiar a Podman deberías ase­gu­rar­te de que Docker de verdad haya perdido su soporte. Una vez lo tengas claro, instala Podman o recurre al software prei­n­s­ta­la­do de algunas versiones de Linux. A co­n­ti­nua­ción, debes cambiar el nombre de “Do­c­ke­r­fi­le” y docker-compose.yml por “Co­n­tai­ne­r­fi­le” y container-compose.yml. Además, es im­po­r­ta­n­te saber que Podman almacena sus co­n­te­ne­do­res e imágenes en un lugar diferente al de su pro­mi­ne­n­te pre­de­ce­sor.

Co­n­clu­sión: Podman vs. Docker – ¿hay un relevo en la guardia?

Podman vs. Docker es una batalla injusta, ya que la he­rra­mie­n­ta más antigua tiene una cierta ventaja, aunque sin el soporte de Red Hat parece estar condenada a des­apa­re­cer. Hay buenas razones para ello, es­pe­cia­l­me­n­te en cuanto a la seguridad; mientras Docker lleva mucho tiempo in­te­n­ta­n­do ponerse al día en este aspecto, estas de­fi­cie­n­cias se han subsanado desde el principio con Podman. La ausencia de un daemon ce­n­tra­li­za­do y la mejor pro­te­c­ción re­su­l­ta­n­te de ello podrían convencer tarde o temprano incluso a los ad­mi­ni­s­tra­do­res más es­cé­p­ti­cos. Sin embargo, ni siquiera Podman se libra de tener errores; todavía necesita resolver algunos problemas. Si se resuelven estos pequeños problemas con éxito, Podman ganará a Docker por un margen estrecho.

Muchos de­fe­n­so­res de Docker tendrán que cambiar tarde o temprano, ya que van a dejar de tener soporte. No obstante, pueden optar por una al­te­r­na­ti­va a Ku­be­r­ne­tes con la que se pueda seguir usando Docker. Con todo, debido a la gran similitud de las dos so­lu­cio­nes de co­n­te­ne­do­res y a los esfuerzos de Red Hat Linux por es­ta­ble­cer a Podman como su sucesor, es muy probable que este cambio salga adelante.

Consejo

La mejor solución de nube para tus ne­ce­si­da­des: con un servidor cloud de IONOS puedes construir tu propia in­frae­s­tru­c­tu­ra virtual, adaptada pe­r­fe­c­ta­me­n­te a tus ne­ce­si­da­des pa­r­ti­cu­la­res. Elige la solución más adecuada para ti de entre nuestros modelos de tarifas que van desde la XS hasta el servidor 5XL.

Ir al menú principal