El argumento de XDA este mes es que la actualización más inteligente de VS Code no es otra extensión de autocompletado, sino los dev containers. El razonamiento es sólido. Un dev container es un entorno Linux delimitado por carpeta definido por un archivo devcontainer.json, con tu runtime de lenguaje, paquetes del sistema y extensiones de editor fijadas. Abre la carpeta en un editor compatible y la herramienta reconcilia el contenedor desde ese archivo, por lo que un clon nuevo alcanza un estado funcional sin una página de configuración manual. Probamos ocho aplicaciones para ejecutar dev containers en Windows, macOS y Linux, seleccionadas por qué tan bien manejan la especificación devcontainer.json real y qué sucede cuando un compañero de equipo en un SO diferente ejecuta la misma carpeta.
Qué buscar en una aplicación de dev container
No toda herramienta de contenedor entiende la especificación de dev containers, y las que lo hacen se ejecutan en runtimes muy diferentes.
- Compatibilidad con especificaciones.
devcontainers/clilee.devcontainer/devcontainer.json, resuelve features, reenvía puertos y monta tu workspace. Busca herramientas que llamen a este CLI o lo incruster, no herramientas que ejecutendocker runy esperen lo mejor. - Runtime. Docker Engine sigue siendo el estándar predeterminado. Podman es el sustituto que se ejecuta sin privilegios. Colima y Lima son las opciones de macOS que evitan los términos de licencia de Docker Desktop.
- Kubernetes y nube. Algunas herramientas pueden ejecutar el mismo
devcontainer.jsoncontra un cluster K8s o una VM remota, no solo en tu laptop. Eso importa una vez que la máquina en la que mantienes dev containers no es la que tienes en la mano. - Acoplamiento del editor. VS Code y JetBrains Gateway abren una carpeta en un dev container de forma nativa. Cursor y Windsurf heredan eso de la base de VS Code. Los usuarios de Vim y Emacs necesitan una herramienta orientada a CLI.
- Rendimiento en macOS y Windows. Los bind mounts a través del límite del host son la parte más lenta de cualquier flujo de trabajo de contenedor. Busca VirtioFS, ajuste gRPC-FUSE o una capa de sincronización del sistema de archivos.
Comparación rápida
| Aplicación | Mejor para | Plataformas | Plan gratuito | Precio inicial | Característica destacada |
|---|---|---|---|---|---|
| Docker Desktop | Runtime predeterminado, usuarios de GUI | Windows, macOS, Linux | Gratis para personal / pequeño negocio | Nivel empresarial por asiento/mes | Cobertura de herramientas más amplia |
| Podman Desktop | Sustituto Docker sin privilegios | Windows, macOS, Linux | Gratis, código abierto | Gratis | Se ejecuta sin privilegios por defecto |
| DevPod | Mismo contenedor en laptop, K8s o nube | Windows, macOS, Linux | Gratis, código abierto | Loft Pro para equipos | Modelo de proveedor para dev en nube |
| OrbStack | Docker más rápido en macOS | macOS | Gratis para personal | Nivel de pago para comercial | VirtioFS, bajo consumo de RAM |
| Rancher Desktop | Docker más un K8s local real | Windows, macOS, Linux | Gratis, código abierto | Gratis | k3s integrado |
| Colima | Docker ligero sin GUI en macOS/Linux | macOS, Linux | Gratis, código abierto | Gratis | Sin GUI, bajo overhead |
| Distrobox | Escritorios Linux containerizados | Linux | Gratis, código abierto | Gratis | Ejecuta aplicaciones GUI desde contenedores |
| GitHub Codespaces | Dev containers en la nube | Web, VS Code, JetBrains | Horas mensuales gratuitas | Por hora después de cuota | El mismo devcontainer.json en la nube |
Las aplicaciones
1. Docker Desktop — Mejor para el runtime predeterminado con el ecosistema más amplio
Docker Desktop sigue siendo lo que la especificación de dev containers asume desde el primer día. Instálalo, instala la extensión Dev Containers en VS Code, y “Reopen in Container” funciona sin configuración. Incluye Docker Engine, Kubernetes y el plugin compose, y gestiona la VM Linux en Windows y macOS para que nunca toques WSL o una instancia de Lima directamente.
Dónde falla: Los términos de suscripción afectan a las organizaciones más grandes. Cualquier cosa superior a 250 empleados o 10 millones de USD en ingresos requiere un asiento Business. El uso de startup y personal sigue siendo gratuito, pero lee la licencia antes de implementarlo en una flota.
Precios:
- Gratis: Personal, educación, pequeño negocio, código abierto no comercial
- Pago: Asientos Pro, Team y Business facturados por usuario por mes
Plataformas: Windows, macOS, Linux
Descargar: docker.com/products/docker-desktop
Resumen: Si eliges una herramienta y te vas, instala Docker Desktop y deja de leer. El resto de la lista es para cuando la licencia o el consumo de RAM lo hace inadecuado.
2. Podman Desktop — Mejor para un sustituto sin privilegios y sin licencia
Podman Desktop es la GUI patrocinada por Red Hat sobre Podman, y ahora maneja devcontainer.json a través de la extensión VS Code Dev Containers exponiendo un socket compatible con Docker. Obtienes un runtime OCI que se ejecuta sin privilegios por defecto, sin demonio de fondo y una licencia Apache 2.0 permisiva.
Dónde falla: La paridad de Compose es cercana pero no idéntica a la de Docker. La semántica de mount de volumen en macOS aún se queda atrás de Docker Desktop para workspaces muy grandes. Los reportes de errores en dev containers con capas de features pesadas aún aparecen ocasionalmente.
Precios:
- Gratis: Conjunto de características completo, código abierto
- Pago: Ninguno
Plataformas: Windows, macOS, Linux
Descargar: podman-desktop.io
Resumen: Podman Desktop es el cambio directo cuando la licencia de Docker Desktop es un problema, y es la opción correcta cuando tu equipo ya ejecuta Podman en servidores.
3. DevPod — Mejor para el mismo contenedor en laptop, K8s y nube
DevPod de Loft Labs trata los proveedores como enchufables. El mismo devcontainer.json que abres en Docker Desktop puede iniciarse en un cluster Kubernetes, un host SSH, una instancia EC2 nueva o un Loft Vcluster, con el workspace sincronizado. Reutiliza internamente devcontainers/cli de Microsoft, por lo que la conformidad de especificación es por construcción, no por traducción.
Dónde falla: El ecosistema de proveedores es desigual. Los proveedores de AWS, GCP, Azure y K8s de primera parte son sólidos. Los proveedores de comunidad varían. La interfaz de usuario de escritorio es funcional más que pulida.
Precios:
- Gratis: Cliente de código abierto completo, todos los proveedores
- Pago: Loft Enterprise para gestión centralizada del equipo
Plataformas: Windows, macOS, Linux, CLI
Descargar: devpod.sh
Resumen: DevPod es la opción cuando “dev container en mi laptop” necesita convertirse en “dev container en el cluster” sin reescribir el archivo.
4. OrbStack — Mejor para Docker más rápido en macOS
OrbStack es un sustituto de Docker de cero para Macs Apple Silicon. El arranque en frío es cuestión de segundos, la RAM inactiva se sitúa muy por debajo de Docker Desktop, y VirtioFS es el valor predeterminado para bind mounts, lo que es la ganancia de rendimiento más grande para dev containers que montan grandes monorepos. También ejecuta VMs Linux completas junto con contenedores para que puedas entrar en un shell sin un wrapper de contenedor.
Dónde falla: Solo macOS. El uso comercial se paga. La falta de compilaciones de Windows y Linux significa que nunca puede ser la única herramienta de dev container de tu equipo.
Precios:
- Gratis: Personal, uso no comercial
- Pago: Nivel Pro para uso comercial, facturado por asiento por mes
Plataformas: macOS
Descargar: orbstack.dev
Resumen: OrbStack es la instalación correcta primero en un Mac personal. En un Mac de trabajo, incluye el nivel comercial en la decisión.
5. Rancher Desktop — Mejor para un K8s local real más dev containers
Rancher Desktop de SUSE envía Docker o containerd como runtime y k3s como un cluster Kubernetes real de un solo nodo. Esa combinación es inusual. Las extensiones de dev container lo tratan como un socket compatible con Docker, y una vez que tu flujo de trabajo requiere un K8s local para probar manifests, Rancher Desktop cubre ambas superficies desde una instalación.
Dónde falla: Más piezas móviles que un runtime de contenedor simple. El primer lanzamiento es lento mientras arranca la VM Linux. La documentación sobre cambiar entre los runtimes Docker y containerd es escasa.
Precios:
- Gratis: Código abierto completo
- Pago: SUSE Rancher para orquestación a escala, no requerido para uso local
Plataformas: Windows, macOS, Linux
Descargar: rancherdesktop.io
Resumen: Rancher Desktop es la opción cuando tu jornada laboral alterna entre “reopen in container” y kubectl apply.
6. Colima — Mejor para Docker ligero sin GUI en macOS o Linux
Colima es un CLI delgado sobre Lima que arranca una VM Linux con Docker o containerd adentro. Sin icono de bandeja, sin solicitudes de actualización, sin licencia. Ejecutas colima start, apuntas el CLI de Docker a su socket, y la extensión Dev Containers en VS Code abre carpetas en contenedores sin diferencia visible de Docker Desktop.
Dónde falla: Sin GUI. La compatibilidad de Kubernetes existe pero es mejor esfuerzo. El rendimiento de compartir volumen es aceptable, no el más rápido de la lista.
Precios:
- Gratis: Completamente código abierto
- Pago: Ninguno
Plataformas: macOS, Linux
Descargar: github.com/abiosoft/colima
Resumen: Colima es el sustituto orientado a terminal de Docker Desktop en Macs. Elige esto si ya vives en el shell.
7. Distrobox — Mejor para escritorios Linux containerizados
Distrobox envuelve Podman o Docker para ejecutar distribuciones Linux completas como contenedores estrechamente integrados. No es un runner de especificación de dev containers estricto, pero aborda el mismo problema desde otro ángulo: un entorno Debian, Fedora o Arch por proyecto en cualquier host Linux, con acceso a tu directorio home y GPU. Combínalo con devcontainers/cli y tienes ambos entornos impulsados por especificación y de forma libre por proyecto.
Dónde falla: Solo Linux. No es un drop-in para devcontainer.json en sí mismo, por lo que complementa en lugar de reemplazar las otras opciones.
Precios:
- Gratis: Completamente código abierto
- Pago: Ninguno
Plataformas: Linux
Descargar: distrobox.it
Resumen: Distrobox es la respuesta en distros Linux inmutables como Silverblue y Bazzite, donde los paquetes del sistema están bloqueados y los contenedores por proyecto se convierten en el flujo de trabajo predeterminado.
8. GitHub Codespaces — Mejor para el mismo dev container en la nube
GitHub Codespaces toma el devcontainer.json de tu repo e inicia una VM alojada que se abre en el navegador, VS Code o JetBrains Gateway. El cambio de un dev container local a un Codespace es un movimiento de un clic porque el archivo ya está allí. La ventaja es que un laptop de 16 GB puede manejar un Codespace de 32 GB, y una contratación nueva está codificando en menos de dos minutos.
Dónde falla: Costo de egreso y compute después de que se agoten las horas gratuitas. La latencia para pulsaciones de teclas es buena en una conexión sólida y dolorosa en Wi-Fi de hotel. Algunas redes bloquean el protocolo de tunneling.
Precios:
- Gratis: Horas de núcleo mensuales para cuentas personales en GitHub Free
- Pago: Facturación por hora más allá de la cuota, más almacenamiento por GB por mes
Plataformas: Web, VS Code, JetBrains Gateway
Descargar: github.com/features/codespaces
Resumen: Codespaces es la reserva cuando el laptop no es la máquina para ejecutar el contenedor. El mismo archivo, host diferente.
Cómo elegir el correcto
- Si quieres la instalación más simple y estás bien con la licencia: Docker Desktop. Es el estándar que la especificación asume.
- Si los términos de Docker Desktop son un problema o quieres sin privilegios: Podman Desktop.
- Si estás en Apple Silicon y el costo no es una restricción: OrbStack para personal, Podman Desktop para laptop de trabajo con preocupaciones de licencia.
- Si tu equipo ejecuta todo en Kubernetes: Rancher Desktop, o DevPod apuntando a tu cluster.
- Si pasas el día en la terminal: Colima.
- Si estás en Silverblue, Bazzite u otro Linux inmutable: Distrobox más CLI de dev containers.
- Si quemas hardware que no puede seguir el ritmo: GitHub Codespaces.
Preguntas frecuentes
¿Qué es un dev container? Un entorno de desarrollo delimitado por carpeta definido por un archivo .devcontainer/devcontainer.json que fija el runtime, paquetes del sistema y extensiones del editor. Abre la carpeta en un editor compatible y la herramienta reconcilia el contenedor desde ese archivo.
¿Necesito Docker Desktop para usar dev containers? No. El CLI de dev containers funciona con cualquier socket compatible con Docker. Podman, Colima, Rancher Desktop y OrbStack todos exponen uno.
¿Puedo usar dev containers sin VS Code? Sí. devcontainers/cli lee el mismo archivo y abre un shell en el contenedor. JetBrains Gateway también admite la especificación.
¿Hay un costo de licencia para los dev containers en sí? No. La especificación y el CLI de referencia son código abierto bajo la licencia MIT. El costo proviene del runtime y cualquier ejecución alojada.
¿Cómo se compara un dev container con un entorno virtual? Un venv o carpeta node_modules fija el ecosistema del lenguaje. Un dev container también fija el sistema operativo, lo que arregla el bug de “funciona en mi máquina” entre compañeros de equipo.
¿Pueden los dev containers usar una GPU? Sí, en hosts Linux y en Windows con WSL2 y passthrough CUDA. Agrega las features apropiadas y bloque hostRequirements al devcontainer.json y expone el dispositivo GPU al contenedor.