Dory: Una aplicación nativa gratuita y de código abierto para macOS para contenedores Docker y Linux

Dory es una aplicación nativa gratuita y de código abierto para macOS para contenedores Docker y Linux, que ofrece una alternativa ligera a OrbStack y Docker Desktop con un enfoque de máquina virtual compartida.

¿Qué es Dory?

Dory es una aplicación nativa gratuita y de código abierto para macOS para gestionar contenedores Docker y Linux. Está diseñada como una alternativa ligera a Docker Desktop y OrbStack, construida completamente con Swift y SwiftUI. La idea central es simple: en lugar de ejecutar una VM por contenedor, Dory inicia una única micro-VM Linux persistente que ejecuta todos tus contenedores. Esto resulta en un uso de memoria significativamente menor, medido aproximadamente 4,7 veces menos memoria en reposo que los enfoques de VM por contenedor (por ejemplo, ~122 MB frente a ~574 MB para dos contenedores).

¿Por qué Dory?

Una VM para todos los contenedores

Dory aprovecha la pila de contenedores de código abierto de Apple para iniciar una única micro-VM Linux. Este modelo de VM compartida es la clave de su eficiencia. El ahorro de memoria escala con la cantidad de contenedores que ejecutes, lo que lo hace ideal para desarrolladores que necesitan ejecutar múltiples servicios localmente.

Pequeño y silencioso

La propia aplicación Dory tiene solo ~6 MB. Utiliza aproximadamente un 0% de CPU en reposo. No hay indexadores en segundo plano, ni telemetría, ni ruido de ventilador innecesario. Esto es una restricción de diseño, no una característica futura.

Gratis para siempre

Dory es completamente gratuito. No hay licencias por usuario, ni niveles de "uso comercial", ni cuentas, ni inicio de sesión requerido. Está licenciado bajo GPL-3.0, con el código fuente completo disponible en GitHub.

Tu CLI de Docker funciona sin cambios

Dory sirve la API de Docker en ~/.dory/dory.sock y registra un contexto Docker dory. Esto significa que puedes usar docker run, docker compose y todos tus scripts y herramientas existentes sin modificaciones.

Nativo, no Electron

Dory está construido con Swift y SwiftUI. Proporciona un agente en la barra de menú y un panel completo. Soporta inicio al iniciar sesión, modo claro y oscuro, y no tiene dependencias de Chromium, Node o telemetría.

Lo que obtienes

Docker, completo

  • Contenedores: Estadísticas en vivo, registros, terminal integrada, inspección del entorno. Crear, iniciar, detener, reiniciar y eliminar desde la UI o CLI.
  • Imágenes: Extraer, construir desde una carpeta de contexto, ejecutar, limpiar, inicio de sesión en registro, inspección completa.
  • Volúmenes: Explorador de archivos incluido.
  • Redes: Subred, puerta de enlace e inspección de contenedores adjuntos.
  • Compose: up/down con .env + interpolación de variables, orden depends_on y espera service_healthy.

Kubernetes, con un clic

Dory ejecuta k3s dentro de la VM compartida con versiones seleccionables de Kubernetes. Incluye un navegador de clúster para pods, despliegues, servicios, mapas de configuración, secretos e ingress, todo con estado en vivo, pod exec, controles de escala/reinicio/despliegue y kubectl apply desde la aplicación.

Máquinas Linux

Puedes iniciar VMs completas de Ubuntu, Debian, Fedora, Alpine o Arch con instantáneas, acceso a terminal y recetas de casos de uso (Node, Python, Go, Rust, etc.) que preparan la máquina lista para codificar. También hay un compositor para seleccionar manualmente tiempos de ejecución, herramientas y paquetes.

Redes que desaparecen

Los puertos publicados están disponibles en localhost. Se crean dominios automáticos *.dory.local para cada contenedor, y HTTPS local es emitido por una CA local. Todo esto está sujeto a consentimiento: nada se instala silenciosamente.

Emulación x86/amd64

Las imágenes x86/amd64 se ejecutan en silicona de Apple mediante emulación.

Inicio sin fricción

El primer lanzamiento te guía a través de todo, incluyendo una instalación con un clic del conjunto de herramientas de contenedores de código abierto de Apple si falta. La migración importa tus imágenes y contenedores desde Docker Desktop o OrbStack.

Instalación

Homebrew

brew install --cask Augani/dory/dory

Manual

Descarga el .dmg notarizado desde la página de lanzamientos, arrastra Dory a Aplicaciones y ábrelo. El primer lanzamiento te guía a través del resto.

Motores de backend

Dory selecciona un backend automáticamente, pero puedes anularlo con la variable de entorno DORY_RUNTIME. Todos los backends comparten un protocolo ContainerRuntime.

DORY_RUNTIME Backend Modelo
shared (predeterminado en hosts compatibles) VM compartida Un dockerd persistente en VM para todos los contenedores (estilo OrbStack). Independiente: no requiere Docker. Requiere macOS 26+ en silicona de Apple.
apple Contenedor Apple Una micro-VM ligera por contenedor. Requiere macOS 26+ en silicona de Apple.
docker API del motor Docker Proxy transparente a un socket compatible con Docker existente (Docker Desktop, OrbStack, Colima, Rancher Desktop, Podman). Funciona en macOS antiguo e Intel cuando el motor anfitrión lo hace.
mock Simulación Datos de muestra en memoria para desarrollo de UI.

Requisitos

  • Silicona de Apple, macOS 15 (Sequoia) o posterior: Experiencia completa con el motor propio de Dory, una VM compartida, baja memoria, Kubernetes, máquinas Linux y dominios *.dory.local. Nada más que instalar.
  • Macs Intel: Dory se ejecuta como una interfaz nativa (aplicación, CLI y contexto docker) para un motor compatible con Docker que instales por separado (Colima, Docker Desktop, Rancher Desktop, Podman u OrbStack). Un motor Intel nativo (a través de Virtualization.framework) está en la hoja de ruta.
  • Xcode 27 o posterior: Requerido para compilar desde el código fuente.

Compilar y ejecutar desde el código fuente

scripts/build.sh # verificación de compilación
scripts/test.sh # suite de pruebas completa
scripts/shot.sh # compilar, lanzar y capturar la ventana

O abre Dory.xcodeproj en Xcode y ejecuta.

Integración opcional del sistema

Estos requieren una concesión administrativa única (la misma que solicita OrbStack) y son ejecutados por ti, nunca silenciosamente:

scripts/enable-networking.sh # dominios *.dory.local + confiar en la CA local
scripts/enable-kubernetes.sh # iniciar k3s en la VM compartida

Arquitectura

Dory.app (SwiftUI)
│
▼
Protocolo ContainerRuntime ──► { VM compartida · Contenedor Apple · API Docker · Simulación }
│
├─ shim doryd API REST Docker sobre ~/.dory/dory.sock
├─ Motor Compose YAML → DAG de dependencias → reconciliar
├─ servicios del motor: máquina de estados de salud · síntesis de eventos · volúmenes anónimos
└─ Red: CA local (TLS) · Enrutador de dominios (*.dory.local) · reenvío de puertos

Todo es ligero en dependencias: el transporte HTTP/socket Unix, el analizador YAML y el cliente y servidor de la API de Docker están hechos a mano, manteniendo la compilación pequeña y determinista. El paquete Packages/ContainerizationEngine enlaza el marco de contenedores de Apple para iniciar la VM Linux en el proceso.

¿Qué sigue?

Máquinas de desarrollo portátiles que puedes respaldar y restaurar, acceso remoto a tu motor y entornos aislados para agentes de IA. Sigue los lanzamientos y abre un problema si quieres dar forma a lo que viene primero.

Contribuir

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md.

Licencia

GPL-3.0 © 2026 Contribuyentes de Dory.

Fuente

Augani/dory: Una aplicación nativa gratuita y de código abierto para macOS para contenedores Docker y Linux, una alternativa a OrbStack y Docker Desktop. Universal para Intel y silicona de Apple.