Podman: Una Alternativa a Docker en Linux

Podman se ha consolidado como una alternativa moderna y eficiente a Docker, ofreciendo características que lo hacen ideal para contenedores ligeros en sistemas Linux. Una de las diferencias clave es que Podman no requiere un daemon en ejecución, lo que lo hace más seguro y flexible. A continuación, exploraremos cómo instalar y usar Podman para gestionar contenedores de manera eficiente.

¿Qué es Podman y por qué elegirlo?

Podman es una herramienta de contenedores que sigue las mismas especificaciones de OCI (Open Container Initiative) que Docker. A diferencia de Docker:

  • Daemonless: No necesita un servicio centralizado en ejecución.
  • Raíz o sin raíz: Puedes ejecutarlo como usuario normal sin necesidad de permisos de superusuario.
  • Compatible con Docker: Usa los mismos comandos (docker run, docker build) y formatos de imágenes.

Podman está disponible en los repositorios de la mayoría de las distribuciones modernas de Linux.

En Fedora, RHEL o CentOS:

sudo dnf install -y podman

En Ubuntu o Debian:

sudo apt install -y podman

Primeros pasos con Podman

Verifica la instalación:

podman --version

Ejecuta tu primer contenedor:

Ejecutemos un contenedor de Alpine:

podman run --rm -it alpine sh

Lista contenedores en ejecución:

podman ps

Para incluir contenedores detenidos:

podman ps -a

Como ven los comandos son similares a los de docker y su funcionamiento igual, de esta manera alguien que conozca docker no va tener ningun problema en usar podman. A continuacion veamos algunos comandos para trabajar con imagenes y su similitud con docker:

Gestión de Imágenes

Descargar una imagen:

podman pull nginx

Listar imágenes locales:

podman images

Eliminar una imagen:

podman rmi nginx

Hasta este punto casi que idénticos docker  y podman, ahora veamos una de las principales características de podman

Ejecutando contenedores sin privilegios

Una de las características destacadas de Podman es su capacidad para ejecutar contenedores sin permisos de superusuario. Simplemente ejecuta comandos sin sudo.

Ejemplo:

podman run --rm -it busybox echo "Ejecutando sin privilegios"

Construcción de Imágenes

Podman es compatible con los archivos Dockerfile. Para construir una imagen:

podman build -t mi-imagen .

Ejemplo de un Dockerfile:

FROM nginx:alpine
COPY index.html /usr/share/nginx/html

Ejecuta la construcción:

podman build -t nginx-custom .

Gestion de Redes en Podman

Podman permite crear redes para aislar contenedores.

Crear una red personalizada:

podman network create mi-red

Conectar un contenedor a una red:

podman run --rm --network mi-red alpine ping google.com

Algunas diferencias entre podman y docker

CaracterísticaDockerPodman
Requiere daemonNo
Ejecución sin privilegiosLimitado
Compatibilidad con Docker CLINativoCompatible
Uso en producciónAmplio soporteCreciente

Consejos y Trucos

  1. Alias para comandos de Docker: Si estás acostumbrado a Docker, crea un alias para Podman:
    alias docker=podman
  2. Deshabilita Podman para root (si es necesario):
    sudo systemctl disable podman.service
  3. Inspección de contenedores: Obtén información detallada:
    podman inspect <nombre_del_contenedor>

Podman ofrece una alternativa moderna y ligera a Docker, con características que mejoran la seguridad y la flexibilidad para gestionar contenedores en Linux. Desde su capacidad de ejecución sin privilegios hasta su compatibilidad con el ecosistema Docker, Podman es una herramienta ideal para usuarios que buscan un enfoque más seguro y controlado en la implementación de contenedores.

Comparte!

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *