6 puntos por GN⁺ 2024-01-14 | 1 comentarios | Compartir por WhatsApp

Comparación entre Podman y Docker

  • Tanto Podman como Docker permiten ejecutar, administrar e implementar contenedores de forma eficiente y escalable.
  • Podman utiliza una arquitectura sin daemon, lo que permite que los usuarios administren los contenedores directamente.
  • Podman se integra con Systemd para gestionar el ciclo de vida de los contenedores.
  • Se pueden orquestar varios contenedores con Podman Compose, que ofrece funciones similares a Docker Compose.
  • En términos de seguridad, Podman ofrece configuraciones predeterminadas más reforzadas que Docker.

Cómo instalar Podman

  • Podman puede ejecutarse en macOS, Windows y las principales distribuciones de Linux.
  • En Linux funciona de forma nativa, y en Windows y macOS opera a través de una máquina virtual.
  • El proceso de instalación se realiza con los comandos sudo apt update y sudo apt install podman.

Ejecutar el primer contenedor

  • Se verifica que la instalación de Podman funcione correctamente usando la imagen "Hello World!".
  • Como Podman sigue el estándar OCI (Open Container Initiative), es compatible con las imágenes de Docker.

Uso de nombres cortos de imagen

  • Podman recomienda usar el nombre completo al referirse a una imagen.
  • Si se usan nombres cortos, Podman consulta el archivo de configuración para determinar el nombre de imagen completamente calificado.

Uso de un registro privado de imágenes

  • Al igual que Docker, Podman puede usarse con registros privados.
  • Se puede seguir un ejemplo de configuración de registro privado usando una cuenta de Docker Hub.

Orquestación de varios contenedores

  • Se pueden orquestar varios contenedores con Podman Compose.
  • Podman Compose ofrece funciones similares a Docker Compose y es compatible con archivos docker-compose.yml existentes.

Opinión de GN⁺:

  • Podman es un motor de contenedores que, en comparación con Docker, puede ser más rápido y ofrece configuraciones predeterminadas más reforzadas en seguridad. Esto puede convertirlo en una alternativa atractiva para desarrolladores y administradores de sistemas.
  • La arquitectura sin daemon de Podman facilita el rastreo de auditoría de seguridad, lo que permite identificar al usuario en caso de un incidente de seguridad.
  • La compatibilidad entre Podman y Docker ayuda a que los usuarios actuales de Docker puedan migrar fácilmente a Podman. Esto resulta útil para organizaciones que buscan mejorar la seguridad y el rendimiento sin cambiar su infraestructura ni sus flujos de trabajo existentes.

1 comentarios

 
GN⁺ 2024-01-14
Opiniones de Hacker News
  • Podman y systemd

    • Podman era bueno cuando permitía archivos de unidad de systemd. Se podían iniciar y actualizar contenedores y pods automáticamente.
    • Sin embargo, eliminaron esa función al favorecer Quadlet. Ahora un contenedor individual puede hacerse con un archivo de unidad, pero para pods se necesita una definición de clúster de Kubernetes.
    • A diferencia de Docker, los contenedores de Podman funcionan según definiciones de SELinux, así que se repite el problema de no poder acceder a directorios mapeados.
    • Hay confusión sobre si se debe usar Podman, si se debe usar Kubernetes, o si hay que crear directorios dedicados en lugar de usar una ubicación lógica.
  • Compatibilidad de red de Podman

    • Una de las principales ventajas de Podman es que, a diferencia de Docker, no arruina la configuración de red.
    • Al usar Docker, operar un bridge junto con máquinas virtuales KVM era una pesadilla, pero Podman funciona bien por defecto.
    • También había problemas de VPN dañadas o interrumpidas por Docker, pero la forma en que Podman maneja la red hasta ahora no interfiere con otras tareas.
  • La popularidad cada vez mayor de Podman

    • Muchas herramientas fueron hechas asumiendo que se agregaría el grupo sudo docker, pero eso causa problemas en configuraciones de Docker enfocadas en la seguridad.
    • Podman puede usarse sin privilegios de root, lo cual es positivo desde el punto de vista de la seguridad.
  • Experiencia de un ingeniero de RHEL usando Podman

    • Como ingeniero certificado de RHEL, disfruta usar Podman para su uso personal de contenedores.
    • Pero para los desarrolladores sigue usando Docker, ya que no ofrece nada que reemplace la simplicidad de Docker Compose.
    • En pipelines de CI usa Buildah, pero para usuarios desarrolladores Docker Compose sigue dominando.
  • Falla de seguridad de Docker y UFW

    • Estuvo a punto de verse afectado por una falla de seguridad entre Docker y UFW.
  • La importancia de los contenedores rootless y los espacios de nombres aislados

    • Los contenedores rootless y los espacios de nombres aislados son funciones de seguridad importantes.
    • También se puede usar rootless en Docker, y la configuración no es complicada.
    • La ventaja de seguir con Docker es que es más accesible: hay más comunidad, blogs, amplia disponibilidad de configuraciones de Docker Compose y colegas que saben cómo usarlo.
    • Al final, tanto Podman como Docker ejecutan procesos en espacios de nombres aislados del host.
  • Podman, la alternativa a Docker de Red Hat

    • No está claro por qué Red Hat hace una alternativa a Docker, pero Podman gusta.
    • Podman puede hacer casi todo lo que hace Docker, y tiene más funciones (por ejemplo, pods) o una mejor forma de hacerlo (por ejemplo, el proceso de creación de contenedores sin daemon).
    • El principal problema para los desarrolladores puede ser Docker Compose, pero si se usan archivos Compose simples, existe el script podman-compose, que intenta ser compatible con la especificación de Docker Compose.
    • También es posible usar Podman como backend de Docker Compose. En 2024, al menos en una máquina Linux, no parece haber razón para usar Docker. No está claro cómo funciona Podman en macOS o Windows.
  • El enfoque centrado en la seguridad de Podman

    • Gusta el enfoque centrado en la seguridad de Podman y algunas de sus decisiones. Ofrece configuraciones seguras por defecto y es compatible con Docker Compose.
    • Si Podman gana suficiente popularidad, podría tomar su propio camino con los comandos y los archivos yml. Por ahora parece una herramienta que "depende" de Docker y del formato de archivos de Docker Compose.
    • Podman necesita una alternativa a swarm que pueda compensar la falta de orquestación sin k8s. Podría ofrecer una manera simple y razonable de operar contenedores a pequeña escala desde una buena perspectiva de seguridad.
  • Problemas al usar Podman

    • Podman es excelente, pero al empezar a usarlo como reemplazo de Docker hubo problemas con el mapeo de UID y GID, políticas de SELINUX y configuraciones de DNS faltantes.
    • Al ejecutar migraciones del sistema para resolver problemas, varias veces se terminaron arruinando configuraciones. Hay problemas complejos relacionados con ACL de seguridad, mapeo de ID y etiquetas.
    • El resultado es satisfactorio, pero no fue una solución de "simplemente funciona" como Docker. Es posible que haya mejorado desde que empezó a usarlo.
  • Podman y Apple Silicon

    • A diferencia de Docker, Podman no tiene una función para ejecutar imágenes x86 en Apple Silicon mediante Rosetta.
    • QEMU es demasiado lento para uso real.