Dev Container CLI

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.

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:

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:

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:

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:

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:

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:

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:

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:

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

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.