Cuando se habla de contenedores todo el mundo piensa en Docker, pero lo que pocos saben es que existe una alternativa que, aunque es muy similar, está diseñada para brindarle al usuario una experiencia totalmente diferente. Podman, desarrollado por RedHat, cambiará por completo la manera en la que gestionas y ejecutas tus contenedores y aquí te explicamos más al respecto.
¿Qué es Podman?
Podman es un motor con el que puedes crear, gestionar y ejecutar contenedores, básicamente igual que Docker. Sin embargo, la gran diferencia es que no necesita depender de un servicio centralizado o “daemon” como sí lo hace Docker. ¿Qué significa esto? Que Podman te ofrece más flexibilidad y, lo mejor de todo, más seguridad.
Además, si has creado un contenedor con Docker, también lo puedes usar en Podman, porque usa el formato de contenedores estándar OCI (Open Container Initiative).
Conoce los Pods en Podman
Pods es un concepto proveniente de Kubernetes y se trata de una unidad mínima que puede contener uno o varios contenedores, los cuales funcionan juntos para una tarea específica. La razón por la que esto te será muy útil es, porque si estás manejando aplicaciones complejas, podrás gestionar varios contenedores dentro de un mismo Pod.
🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴
Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semanaEs gracias a esta capacidad que Podman logra integrarse con facilidad con Kuberentes y facilita la transición entre tu entorno local y el trabajo en la nube. Entonces, podrás manejar varios contenedores agrupados dentro de un Pod, lo cual resulta perfecto para entornos de microservicios o sistemas distribuidos donde se necesita que múltiples servicios trabajen juntos.
¿Cómo migrar de Docker a Podman?
Lo grandioso es que migrar a Podman es muy fácil, porque trabajarás con los mismos comandos que usas en Docker. Solo debes usar este comando:
alias docker=podman
Como los ingenieros de RedHat han trabajado para mantener la compatibilidad en la sintaxis de comandos entre Docker y Podman, es muy fácil usarlo. Te aseguramos que no notarás la diferencia, salvo por las ventajas adicionales que obtendrás.
¿Cuáles son las ventajas de usarlo?
Sistema descentralizado
La gran ventaja de Podman es que no necesita de un “daemon” o servicio central para funcionar. En este caso, cada contenedor se gestiona de manera independiente, de tal manera que todo se simplifica y tienes más flexibilidad. Como cada parte del sistema está descentralizada, solo se usan los recursos cuando realmente son necesarios, evitando la sobrecarga que genera un servicio central como en Docker.
Skopeo y Buildah para imágenes
- Skopeo: Te sirve para inspeccionar las imágenes de los contenedores sin tener que descargarlas. De modo que puedes ver toda la información de una imagen directamente desde el repositorio sin que ocupe espacio en tu disco. También puedes mover las imágenes de un repositorio a otro sin la necesidad de descargarlas en tu ordenador.
- Buildah: Con esta herramienta puedes crear y modificar imágenes. Además, te permite editar contenedores que ya están en funcionamiento, crear nuevas imágenes desde cero y gestionarlas sin depender de un daemon.
Seguridad: rootless containers
No tendrás que preocuparte por la seguridad. Como Podman tiene un diseño modular, puedes ejecutar tus contenedores sin tener que usar permisos de root o de administrador. Esto quiere decir que puedes usar cualquier usuario del sistema para correr los contenedores, y no tendrás que preocuparte de que alguna falla o vulnerabilidad permita que alguien obtenga más privilegios y cause problemas en el sistema.
Además, Podman utiliza una tecnología llamada namespaces para dar una capa extra de protección. Esto hace que sea mucho más difícil que un contenedor afecte otros procesos o partes del sistema.
Integración con Systemd
Como esta integrado directamente con Systemd (Sistema de inicio y gestión de servicios más popular de Linux) puedes ejecutar tus contenedores como si fueran servicios del sistema. Esto te servirá mucho si necesitas que las aplicaciones que tienes dentro de los contenedores estén corriendo constantemente y a largo plazo.
Además, con Systemd, puedes habilitar la “activación de socket”, lo que básicamente te permite crear una API remota para gestionar tus contenedores de Podman fácilmente. Esta función es perfecta cuando necesitas que tus contenedores estén bien integrados con el sistema operativo o si estás gestionando varios contenedores en entornos más complejos.
Si te interesa aprender más sobre tecnologías como Podman y cómo implementarlas en entornos de producción, apúntate al Bootcamp de DevOps & Cloud Computing de KeepCoding. Aquí aprenderás a gestionar contenedores de manera eficiente, optimizar sistemas en la nube y automatizar infraestructuras. El sector tecnológico está en constante crecimiento y la demanda de expertos en DevOps es cada vez mayor. ¡Este bootcamp puede ser el paso que cambie tu vida profesional!