4 puntos por GN⁺ 2024-09-21 | 2 comentarios | Compartir por WhatsApp
  • Container Desktop es una UI de escritorio gratuita y de código abierto para manejar Podman, Docker y Apple™ Container en una sola pantalla, con soporte para Windows, macOS y Linux
  • Además de motores locales, permite cambiar dentro de un mismo administrador entre conexiones remotas por SSH, WSL en Windows, LIMA en macOS y Apple™ Container en Apple silicon
  • Desde la UI se pueden realizar tareas operativas cotidianas como ver logs, estado, variables de entorno, montajes, puertos, estadísticas, terminal integrada y abrir el navegador para cada contenedor
  • Soporta gestión de imágenes, seguridad de imágenes, Pods, redes, secretos y volúmenes, junto con configuración de tema, tipografía, forma de inicio, bandeja del sistema, actualizaciones y nivel de logs
  • Es una app con licencia MIT y ofrece paquetes nativos para Linux, macOS y Windows, además de distribución en Microsoft Store

El rol de Container Desktop

  • Container Desktop es una UI de escritorio para Podman, Docker y Apple™ Container
  • Permite manejar entornos de contenedores de la misma manera en Windows, macOS y Linux
  • Administra desde una sola UI motores locales, conexiones remotas por SSH y entornos WSL
  • Es una app gratuita y de código abierto con licencia MIT
  • Si se necesita una app creada por el equipo oficial de Podman, existe por separado Podman Desktop

Motores y formas de conexión

  • Desde un solo administrador se puede alternar entre varios motores de contenedores y métodos de conexión
    • Motores nativos de Linux
    • Motores virtualizados
    • LIMA en macOS
    • WSL en Windows
    • Apple™ Container en Apple silicon
    • Conexión remota por SSH
  • Entre los elementos compatibles se incluyen Podman, Docker, Apple™ Container, LIMA, WSL y SSH

Pantalla de operación de contenedores

  • Permite revisar el origen y estado de los contenedores
  • Se pueden ver logs, variables de entorno, montajes, puertos y estadísticas en vivo por contenedor
  • Permite realizar acciones básicas como iniciar, detener y reiniciar
  • Se puede abrir una consola de terminal integrada para acceder al contenedor
  • Los servicios expuestos pueden abrirse directamente en el navegador
  • El mismo flujo de trabajo funciona igual en Podman, Docker y Apple™ Container

Gestión de imágenes, Pods, redes, secretos y volúmenes

  • Images

    • Se pueden hacer pull, build e inspect de imágenes
    • Se pueden crear contenedores con puertos y montajes personalizados
  • Image security

    • Ofrece funciones para identificar vulnerabilidades conocidas y mantener la seguridad del sistema
  • Pods

    • Permite ver logs, procesos y detalles de los Pods
    • Ofrece la función de generar kube
  • Networks

    • Se pueden crear y reutilizar redes
    • Permite manejar configuraciones detalladas por red
  • Secrets

    • Se pueden definir, inspeccionar y eliminar secretos en todo el entorno
  • Volumes

    • Soporta compartir volúmenes entre contenedores

Configuración y facilidades para depuración

  • Se pueden configurar el tema y la fuente monoespaciada
  • Ajusta la forma de inicio de la app, el comportamiento en la bandeja del sistema y el control de actualizaciones
  • Permite elegir el nivel de logs
  • Muestra la ubicación donde se guardan la configuración y los logs
  • La claridad en la ubicación de logs y configuración apunta a una estructura favorable para la depuración

Manual y paquetes de instalación

  • El Manual ofrece guías de configuración por motor y plataforma, e incluye comandos listos para copiar y pegar
  • La guía de Linux incluye inicio rápido, cómo usar Podman como si fuera Docker, una alternativa a Docker Desktop y compartir conexiones
  • La guía de macOS cubre inicio rápido con colima, Podman y Docker basados en LIMA, cómo usar Podman como si fuera Docker, Apple™ Container y compartir conexiones
  • La guía de Windows incluye configuración y requisitos de WSL, inicio rápido, cómo usar Podman como si fuera Docker, instalación personalizada y consejos
  • La descarga, tomando como base v5.3.7, ofrece paquetes nativos por plataforma
    • Linux: .deb, .rpm, .tar.gz, .AppImage, .pacman para x86_64 y arm64
    • macOS: .dmg para Apple silicon y .tar.gz portable
    • Windows: Microsoft Store para x64, instalador .exe y .zip portable

2 comentarios

 
ndrgrd 2024-09-27

Sabía desde hace unos años que existía algo llamado posman, pero escuché que tenía bastantes bugs y varias cosas molestas. ¿Ha mejorado mucho últimamente?

 
GN⁺ 2024-09-21
Opiniones en Hacker News
  • El soporte para Kubernetes está planeado, y mi responsable de DevOps insiste mucho en que lo incluya.
    Me parece que mucha gente aquí es usuaria avanzada y ve la UI como un poema visual para decidir si es necesaria o no.
    Este no es un proyecto comercial ni sigue objetivos de negocio, pero eso no significa que se sacrifique la calidad. Intento ofrecer uso mínimo de recursos, una experiencia sencilla y una buena UI/UX en todas partes.
    Si se abre la consola de desarrollador, explica todo lo que hace por detrás, y podría convertirse en una herramienta que ayude a que, en algún momento, el usuario lo entienda y pueda automatizarlo con scripts y especificaciones.
    Hoy en día se ve a los usuarios solo como demasiado inteligentes o demasiado tontos, pero yo no lo veo así. Todos empezaron en algún lado, y creo que lo mejor es una experiencia de aprendizaje gradual.
    De niño rompí muchos radios y juguetes, y aprendí mucho mirando qué había adentro. Este proyecto lo está haciendo una persona después del trabajo y cuando llueve afuera. En Bélgica llueve mucho.

    • Yo tampoco paso toda mi vida en la línea de comandos, pero una GUI para Docker me parece un nicho interesante.
      No tengo del todo claro cuál es exactamente la intersección de personas que saben que quieren ejecutar contenedores Docker en local, y también saben cómo funciona, pero no quieren escribir en el prompt los pocos comandos necesarios para ejecutarlos.
    • La frase "hoy en día se considera que todos son demasiado inteligentes o demasiado tontos" describe muchas situaciones de este campo de forma muy concisa y poética.
    • Se ve realmente pulido. En el sitio dice que también está planeado el soporte para otros motores, y me da curiosidad cuáles serían.
      Supongo que será algo como integrarse directamente con containerd o kata, pero me gustaría saber más. Si pudiera pedir algo, sería una opción para usar systemd directamente, porque systemd ya tiene bastante bien cubiertas las funciones necesarias para ejecutar contenedores.
    • Me pregunto si con soporte para Kubernetes se refieren a las funciones similares a Kubernetes de Podman, por ejemplo podman play kube, o a Kubernetes propiamente dicho.
    • Aunque nunca lo terminé por completo, fue bastante divertido documentar un K8S básico en Hetzner por unos 20 euros al mes, más precisamente una configuración con K3S.
      Con eso no aprendes administración de sistemas ni Docker en profundidad, pero sí te da la sensación de poder ejecutar fácilmente varios servicios en un servidor con solo saber YAML, sin otro DSL separado como chef o puppet.
  • Se ve genial, pero me pregunto cómo está el soporte para Kubernetes. Una de las grandes razones por las que usamos Docker Desktop en la empresa es para levantar un clúster local de Kubernetes y desplegar servicios allí.
    Rancher Desktop, que usa k3s, también lo soporta, y k3s incluso podría considerarse una mejor opción que la distribución de Kubernetes que configura Docker Desktop.
    Hace poco probé OrbStack y arranca casi al instante; Kubernetes también tarda como máximo unos 2 segundos en iniciar. La UI es minimalista, pero suficiente para revisar contenedores, pods, servicios, logs, etc., y el uso de memoria y el consumo de batería son muy ligeros. Personalmente, después de probar OrbStack, ya no puedo volver a Docker ni a Rancher Desktop.
    OrbStack permite usar los dominios de servicios de Kubernetes directamente desde el host, así que no hace falta kubectl port-forward, y las aplicaciones que se ejecutan en el host también pueden usar la misma configuración que dentro del clúster de Kubernetes.
    En ahorro de batería, uso dinámico de memoria, tiempos de arranque rápidos y comodidad, OrbStack se volvió el estándar para alternativas a Docker Desktop. No sé si container-desktop cumple todos estos requisitos, y Rancher Desktop definitivamente no.

    • OrbStack es una de las pocas suscripciones de software que pago, y vale cada centavo. Está muy por delante de Docker Desktop.
    • Hice una demo de OrbStack a todo un departamento con más de 100 ingenieros, y ahora cancelamos las cuentas de Docker Desktop y todos migramos. No hubo ninguna queja.
    • También vale la pena revisar https://kind.sigs.k8s.io/ y https://k0sproject.io.
  • Como alternativa a Docker Desktop he usado Rancher Desktop en macOS y Windows, y es bastante estable: https://rancherdesktop.io/
    Todavía tiene cosas por pulir, pero pude conectarlo también con IDEs; por ejemplo, logré que funcionara la integración de Docker Compose de Intellij IDEA.
    Otro punto bueno es que scripts existentes y cosas similares que usan la herramienta de línea de comandos docker-compose también funcionan en Rancher Desktop. Es porque internamente usa nerdctl: https://github.com/containerd/nerdctl

    • Rancher Desktop me gusta porque Kubernetes simplemente funciona. No solo eso: después de crear una imagen con docker build, puedes levantarla directamente como un pod de Kubernetes sin pasar 10 minutos buscando el comando correcto para hacer "load" de la imagen.
    • Otro voto para Rancher Desktop. En MacOS funciona tan fluido como Docker Desktop.
    • Llevo 2 años usando Rancher Desktop y definitivamente puedo recomendarlo como alternativa a Docker Desktop.
    • En nuestra empresa también acabamos de completar la migración a Rancher. Somos alrededor de 1200 ingenieros y la mayoría usa Mac. Hasta ahora ha habido menos obstáculos de los esperados y funciona bastante bien.
    • Me gusta todo el ecosistema de Rancher. La experiencia de configurar clústeres con Rancher es muy agradable.
  • Recomiendo revisar también Podman Desktop, que tiene bastante buen soporte de Red Hat.
    https://podman-desktop.io/

    • No sé si el soporte de Red Hat sea algo bueno.
  • Si usas macOS, OrbStack es una buena alternativa a Docker Desktop
    No tengo ninguna relación con OrbStack

    • Me gustaría probarlo, pero de verdad detesto el modelo de suscripción. Especialmente si es una herramienta cuyo costo debe pagar la empresa
      Si pudiera pagar 50–100 dólares una sola vez y obtener una licencia perpetua, pagaría con gusto y evitaría las molestias asociadas
    • OrbStack es realmente excelente. Lo uso para compilar para Ubuntu/Mac × x86_64/arm, en total 4 plataformas, y es lo más rápido que he probado dentro de las opciones de emulación/Docker
    • colima también es bueno: https://www.swyx.io/running-docker-without-docker-desktop
      Tampoco tengo relación con eso y todavía no he probado OrbStack
    • Me pasé a OrbStack y también pagué la licencia. Coincido en que las suscripciones cansan, pero siento que vale los 8 dólares al mes
      También probé Colima y, si OrbStack no hubiera sido una opción, habría seguido usando Colima sin problema
    • Es bueno para uso personal. Pero hay que tener en cuenta que si lo usas en el trabajo, necesitas una licencia
  • Actualmente uso colima, y es una lástima que no haya encontrado otra alternativa que soporte el reenvío de puertos UDP, que uso mucho
    Por suerte, se fusionó en lima un nuevo reenviador de puertos con soporte para UDP [0]. Espero poder usarlo pronto cuando se incluya en una versión
    [0]: https://github.com/lima-vm/lima/commit/13e9cbcabc6a0a05ec389...

  • Uso OrbStack con mucha satisfacción: https://orbstack.dev/
    También soporta VM de Linux y Kubernetes, aunque todavía no he probado Kubernetes

  • Me pregunto qué ofrece esto que Podman Desktop no tenga
    https://podman-desktop.io/

    • La última vez que revisé, el soporte de Podman para docker-compose.yml era muy limitado. Me pregunto si habrá cambiado
    • Desde el punto de vista de un usuario de Windows, también me pregunto qué ofrece Podman Desktop que no tenga WSL
  • Es una queja un poco aparte, pero Podman permite montajes del host durante la compilación de imágenes, mientras que Docker no
    Un monorepo que usaba Podman aprovechaba esa función para crear imágenes de contenedor desde el código fuente, y al intentar implementar lo mismo con Docker era un gran dolor de cabeza tener que copiar el monorepo al contexto de build de Docker cada vez
    Tenía que usar Docker por el soporte para M1, pero probablemente debí haber probado algo como Colima

  • En Mac estoy bastante satisfecho con Colima, pero esto también parece una buena alternativa a Docker Desktop

    • Estoy mayormente de acuerdo después de haber tenido algunos problemas iniciales con colima. Principalmente tuve que especificar los argumentos de VZ[0] para ejecutar imágenes Docker x86_64 en la serie M
      Me pregunto qué ofrecen estas UI de escritorio que colima no tenga en absoluto
      [0] colima start --vm-type=vz --vz-rosetta