Guía para principiantes de contenedores Podman en Linux

Característica de Podman

Cuando se habla del futuro de la tecnología, muchos técnicos experimentados saben que la virtualización y la contenerización son, en gran medida, ese camino. Permiten una mayor seguridad de las aplicaciones y los servicios, y se administran fácilmente a través de otros servicios que permiten la creación de instantáneas, las plantillas y una mayor personalización de la que se obtiene con el modelo de un servidor por aplicación. Sin embargo, no siempre está completamente claro cómo debe comenzar con la virtualización y la contenedorización. Hemos cubierto la virtualización en Linux, Windows y macOS muchas veces antes, pero la contenedorización tiende a ser un poco diferente. En este artículo, le proporcionamos una guía para principiantes de Podman en Linux, una gran herramienta para la creación de contenedores.

¿Qué son los contenedores?

Los contenedores son esencialmente pequeñas máquinas virtuales, pero solo para aplicaciones. Usan muchos de los mismos conceptos y tienen muchas de las mismas características de seguridad y facilidad de uso, pero son mucho más pequeñas y permiten una fácil distribución y generación de imágenes de una aplicación. Esto es en gran parte en lo que se basan Flatpaks y Snaps. Puede comenzar a ver los paralelos: un programa, múltiples aplicaciones que se ejecutan en entornos aislados.

¿Qué es Podman?

Muchos de nosotros hemos oído hablar de Docker, el OG de motores de contenedores. Podman es un motor de contenedores similar que usa una estructura muy similar a Docker con un par de diferencias clave.

Una es que Podman no tiene demonios, mientras que Docker se basa en un demonio. Esto significa que los contenedores de Podman pueden funcionar sin permisos de nivel raíz, lo que permite una mayor seguridad y flexibilidad. Un contenedor que se ejecuta a nivel de usuario significa que los usuarios solo pueden ver sus contenedores y nadie más. Podman es más liviano en recursos del sistema debido a la arquitectura más simple, lo que hace que la experiencia sea más agradable.

La arquitectura sin demonios conduce a algo llamado contenedores sin raíces. Es un concepto que se basa en la diferencia anterior, pero se centra en la seguridad. Si un atacante compromete su contenedor y logra escapar por cualquier motivo, solo tiene permisos de usuario básicos en lugar de permisos de root. Esto requiere una configuración adicional para comenzar, y hay algunas deficiencias en este momento, pero es algo que vale la pena ver.

Instalación de Podman

Para la mayoría de las distribuciones, Podman está en los repositorios principales, lo que lo convierte en un comando de instalación simple:

Usando Podman

La sintaxis del comando para iniciar un contenedor Podman puede ser un poco confusa, pero una vez que empiece a dominarlo, empezará a reconocer los patrones. Hay un contenedor de muestra del proyecto que puede ejecutar ingresando este comando en la terminal:

Podman Run

Eso extraerá algunas imágenes del registro que aparece en la lista y, una vez hecho, obtendrá un número largo. Terminará viendo eso más tarde cuando revise los contenedores en ejecución.

Para verificar la ejecución de contenedores de Podman, ingrese el siguiente comando:

Podman Ps

Verá el contenedor que comenzó antes. Esto confirma que se está ejecutando. Sin embargo, si desea ver específicamente la página web que se ejecuta Apache, ejecutará el siguiente comando:

Reemplazo 0.0.0.0 con cualquier dirección IP que se muestre cuando ejecutó el podman ps mando. Debería obtener un montón de HTML confuso, pero si mira directamente en la parte superior, notará la sintaxis de un título en HTML y sabrá que está funcionando.

Imágenes de Podman

Algo bueno de Podman es el uso de imágenes. Puede buscar otras imágenes como la httpd u otros programas que le interese ejecutar.

Yo busqué vncserver, y esto es lo que obtuve. Puede ver que hay muchas opciones y todo se reducirá a sus preferencias personales.

Búsqueda de Podman

Para tomar una de esas imágenes, ejecute el podman pull mando.

Se recomienda que extraiga la URL completa para que el registro del contenedor sea completamente preciso. Como ejemplo, el comando que estoy ejecutando es:

en lugar de solo correr podman pull vncserver porque puede haber imágenes que no quiero que se elijan en lugar de esta que sí quiero.

Tirón de Podman

También puede verificar sus imágenes con este comando:

Y detenga los contenedores con este comando:

los -l flag significa que detendrá el último contenedor de ejecución, pero también puede usar el -a bandera para detener todos los contenedores.

Es posible que haya notado que Podman también puede buscar en docker.io imágenes de contenedor. Esto se debe a que los comandos de Podman y los comandos de Docker son esencialmente los mismos, tanto que a veces se recomienda alias el docker comando para podman como esto:

Esto significa que cada vez que ingrese docker, su máquina ejecutará el podman comando de todos modos.

Podman desarraigado

Para configurar su sistema para contenedores sin raíz, hay bastante configuración que realizar, pero hay una gran documentación sobre su Página de Github.

Espero que haya disfrutado de esta introducción a Podman, una pequeña herramienta que le permitirá ejecutar contenedores sin demonios y sin raíces para mantener su sistema limpio, ordenado y seguro. Si lo hizo, asegúrese de consultar algunos de nuestros otros contenidos de contenedores, como nuestras guías sobre cómo ejecutar Ubuntu en un contenedor en ChromeOS, copiar contenedores de Docker a otro host y limitar los recursos de contenedores de Docker.