Esta guía explica qué es Podman, sus características, la diferencia entre un contenedor de Podman y una imagen, y cómo instalar Podman en sistemas operativos Linux.
¿Qué es Podman?
Podman, siglas de POD MANager, es una utilidad de gestión de contenedores de código abierto y línea de comandos basada en libmod
biblioteca.
Podman le permite crear, desarrollar y administrar contenedores e imágenes de Open Container Initiative (OCI), volúmenes montados en esos contenedores y pods creados a partir de grupos de contenedores.
El uso de Podman es el mismo que el de Docker
Podman es similar a Docker en términos de uso. Podman ofrece el mismo conjunto de comandos proporcionado por Docker. Si ya está familiarizado con Docker, no notará mucha diferencia.
Podman también es compatible con una API REST que proporciona tanto una interfaz compatible con Docker como una interfaz mejorada que expone la funcionalidad avanzada de Podman.
Aunque Podman proporciona una interfaz similar a la de Docker, tiene algunas diferencias distintivas. Las dos características importantes son:Modo sin raíz y vainas .
Modo sin raíz
A diferencia de Docker, Podman no requiere un demonio. Es una herramienta de administración de contenedores sin demonios (sin raíces).
Podman no requiere privilegios de superusuario para ejecutar contenedores. Los contenedores se pueden ejecutar como root
o en modo rootless como usuario normal.
Cuando ejecuta Podman como usuario no root, crea un espacio de nombres de usuario dentro del cual adquiere el permiso de root. Esto le permite montar sistemas de archivos y configurar los contenedores necesarios. En otras palabras, los contenedores de Podman usan espacios de nombres de usuario para establecer la raíz en el contenedor para el usuario que ejecuta Podman.
Ejecutar Podman sin raíz mejora la seguridad. Incluso si el motor del contenedor o el tiempo de ejecución se ven comprometidos, los atacantes no tendrán privilegios de root sobre su sistema.
También permite que varios usuarios sin privilegios ejecuten contenedores en la misma máquina. Docker ahora tiene rootless soporte de modo. Sin embargo, Podman tenía esta función antes de Docker.
vainas
La otra ventaja notable de Podman es que puede crear un grupo de contenedores. Los llamamos como vainas. En Podman, los contenedores pueden formar "cápsulas" que funcionan juntas.
Podman brinda un excelente soporte para administrar múltiples contenedores, es decir, Pods. Esta característica no está disponible en otras herramientas de tiempo de ejecución de contenedores.
Imágenes compatibles con OCI
Las imágenes creadas por Podman se adhieren al estándar OCI, por lo que las imágenes de Podman son totalmente compatibles con otras herramientas de tiempo de ejecución de contenedores como Docker.
Puede publicar las imágenes recién creadas en registros de contenedores como Quay o concentrador Docker para compartirlos con el mundo. Cualquiera puede descargarlos, usarlos e incluso mejorarlos.
Listo para Systemd
Podman está construido con systemd en mente. Significado:Podman se puede controlar a través de unidades systemd. También es compatible con systemd en contenedores, listo para usar.
¡Gratis y de código abierto!
Podman es una herramienta nativa de Linux gratuita desarrollada por Red Hat y debería funcionar perfectamente en otras distribuciones de Linux.
Antes de instalar Podman, déjame darte una breve descripción de las imágenes y los contenedores. Estos dos están estrechamente relacionados, pero son distintos.
Contenedores vs Imágenes
Una Imagen es el archivo que decide cómo debe comportarse un Contenedor, y el Contenedor es la etapa en ejecución o detenida de una Imagen.
Puede ejecutar muchos contenedores usando la misma imagen. Los Contenedores están aislados del resto de archivos del host.
Cuando ejecutamos un contenedor, utiliza un sistema de archivos aislado proporcionado por la imagen. La imagen consta de todo lo necesario para ejecutar una aplicación:todas las dependencias, configuración, scripts, archivos binarios, etc.
La imagen también contiene otra configuración para el contenedor, como variables de entorno, un comando predeterminado para ejecutar y otros metadatos.
El siguiente extracto de la documentación oficial de Docker proporciona una explicación clara y concisa de Contenedores e Imágenes.
Puede enumerar las imágenes disponibles localmente usando podman images
comando y los Contenedores usando podman ps
dominio. Aprenderemos más sobre los comandos de Podman en nuestras próximas guías.
Instalar Podman en Linux
Podman viene preinstalado en Fedora CoreOS, Fedora Silverblue y Fedora 34. Si usa alguna de estas distribuciones, no necesita instalar Podman.
Podman está empaquetado para muchos sistemas operativos Linux modernos y está disponible en los repositorios predeterminados.
Para instalar Podman en Alpine Linux, ejecute:
$ sudo apk add podman
Instale Podman en Arch Linux, EndeavourOS y Manjaro Linux:
$ sudo pacman -S podman
¡Instala Podman en Debian, Ubuntu, Pop_OS!:
$ sudo apt install podman
Instale Podman en CentOS 8, Fedora 33 y anteriores, RHEL 8, AlmaLinux 8 y Rocky Linux 8:
$ sudo dnf install podman
Instale Podman en openSUSE:
$ sudo zypper install podman
Para comprobar la versión de Podman instalada, ejecute:
$ podman -v podman version 3.2.2
Leer a continuación:
Aprenda los conceptos básicos de Podman y cómo comenzar con Podman en Linux con ejemplos prácticos:
- Tutorial de Podman:comience a utilizar Podman
Usar Podman en línea
Si no tiene Linux o no quiere instalar Podman, puede usar Katacoda, una plataforma en línea que proporciona muchos entornos de prueba para aprender y jugar con diferentes tipos de tecnologías.
Para usar Podman directamente desde su navegador sin instalarlo en su sistema, vaya al siguiente enlace.
- Podman en línea con Katacoda .
Conclusión
En esta breve guía, analizamos qué es Podman y en qué se diferencia de otros tiempos de ejecución de contenedores, como Docker. También discutimos cuál es la diferencia entre un Contenedor y una Imagen. Finalmente, vimos cómo instalar Podman en varias distribuciones de Linux.