WSL containers ya es estable: qué cambia frente a Docker Desktop en Windows
Índice de contenidos
- Puntos clave
- Qué es WSL containers y qué trae wslc
- En qué se diferencia de Docker Desktop por dentro
- Qué le falta a WSL containers frente a Docker Desktop
- Cuándo merece la pena dejar Docker Desktop
- Cómo lo controla una empresa
- Preguntas frecuentes
- ¿Necesito Windows 11 para usar WSL containers?
- ¿wslc usa las mismas imágenes que Docker?
- ¿Puedo usar docker compose con WSL containers?
- Conclusión
- Fuentes
WSL containers es la función de WSL 3.0.1 que trae wslc.exe, una interfaz de línea de comandos con sintaxis de Docker para construir y ejecutar contenedores Linux en Windows sin instalar otro motor. Es estable desde el 29 de septiembre de 2026, pero aún no lee compose.yaml, así que Docker Desktop sigue siendo necesario para proyectos con Compose.
WSL containers es la función que convierte el Subsistema de Windows para Linux (WSL) en un motor de contenedores: desde WSL 3.0.1, publicada el 29 de septiembre de 2026, Windows trae wslc.exe, una interfaz de línea de comandos (CLI) con sintaxis de Docker para construir y ejecutar contenedores Linux sin instalar Docker Desktop. Aquí explico qué incluye, en qué se diferencia de Docker Desktop por dentro y qué le falta todavía, sobre todo Compose. No lo he podido ejecutar en un equipo Windows; todo lo que sigue sale de la documentación, las notas de la versión y el artículo de arquitectura de Microsoft. También hay una versión en inglés.
Puntos clave
- WSL containers necesita WSL 2.9.3 o superior y se instala con
wsl --update. La versión estable es la 3.0.1, del 29 de septiembre de 2026. wslc.exe(con el aliascontainer.exe) usa la sintaxis de Docker:wslc run,wslc build,wslc container list,wslc exec.- Cada aplicación crea su propia sesión con su propio disco virtual, en un proceso que corre con tu usuario y no como servicio privilegiado.
- Las carpetas de Windows se montan con virtiofs, que según Microsoft duplica la velocidad de plan9, y la red nueva (consommé) sale como un proceso de Windows más, compatible con VPN y cortafuegos.
- Falta Compose: Microsoft lo llama "the top feature request" y es su primera prioridad, así que un proyecto con
compose.yamlsigue necesitando Docker Desktop o Podman.
Qué es WSL containers y qué trae wslc
WSL containers tiene dos piezas: la CLI wslc.exe para usarlo a mano y una API para que las aplicaciones de Windows lancen contenedores Linux por su cuenta. Las dos vienen dentro de WSL, sin un motor aparte.
La CLI copia los verbos de Docker. La guía de inicio de Microsoft[1] usa estos comandos para comprobar la instalación y levantar un servidor web:
wsl --update
wsl --version
wslc version
wslc run --rm hello-world
wslc run -d --rm -p 8080:80 --name web nginx
curl localhost:8080
wslc exec web cat /etc/os-release
wslc container stop web
El primer bloque actualiza WSL y confirma la versión; el segundo arranca nginx en segundo plano, publica el puerto 8080 y ejecuta un comando dentro del contenedor. Si vienes de Docker, la diferencia está en los subcomandos agrupados: wslc container list en lugar de docker ps, wslc image list en lugar de docker images.
| Tarea | Docker | wslc |
|---|---|---|
| Listar contenedores | docker ps |
wslc container list |
| Listar imágenes | docker images |
wslc image list |
| Construir | docker build -t app . |
wslc build -t app . |
| Logs | docker logs web |
wslc container logs web |
| Limpiar | docker container prune |
wslc container prune |
| Compose | docker compose up |
No disponible |
La API se distribuye en el paquete NuGet Microsoft.WSL.Containers para C# y C++. Su modelo tiene cuatro objetos: WslcService, Session, Container y Process. Microsoft la presenta como la vía para que una aplicación de escritorio ejecute, por ejemplo, un modelo de IA en un contenedor Linux sin pedir al usuario que instale nada más.
En qué se diferencia de Docker Desktop por dentro
La diferencia de fondo está en el aislamiento. Docker Desktop arranca su propia máquina virtual con el demonio de Docker y la comparte entre todo lo que use el socket. WSL containers crea sesiones.
Según el artículo de arquitectura[2] de Pierre Boulay, el cliente habla con wslservice.exe, el servicio privilegiado de WSL, y este lanza un proceso wslcsession.exe que corre con el usuario que hizo la petición. Cada sesión guarda su estado en un disco virtual propio bajo %AppData%\Local\wslc\sessions. Dos aplicaciones que usan contenedores no ven las imágenes ni los contenedores de la otra.
El almacenamiento y la red también cambian:
- Volúmenes de Windows: se montan con virtiofs en lugar de plan9, y Microsoft cifra la mejora en el doble de velocidad al leer ficheros de Windows desde Linux
- Volúmenes en disco virtual: sistemas de archivos Linux nativos o volúmenes con tamaño máximo, respaldados por un VHD
- Red consommé: las tramas de la máquina virtual las procesa un proceso de usuario de Windows, que resuelve DNS y encamina TCP y UDP, de modo que el tráfico sale como el de cualquier programa de Windows y atraviesa VPN y cortafuegos corporativos
Microsoft lo resume en el anuncio de Logan Iyer, vicepresidente de Windows: "WSL is central to our commitment to making Windows the best place to build, run and manage Linux workloads."
Qué le falta a WSL containers frente a Docker Desktop
Lo que más pesa es Compose. El anuncio lo pone como primera prioridad del equipo, con el objetivo de que wslc compose lea los compose.yaml existentes sin cambios, pero hoy no existe. Si tu proyecto depende de un fichero Compose, como las guías de autoalojamiento de este blog, wslc no lo sustituye todavía. Para entender qué hace Compose por ti, mira cómo funcionan los healthchecks y las políticas de reinicio en Docker Compose.
Tampoco hay en la documentación un socket compatible con la API de Docker. Las herramientas que hablan con /var/run/docker.sock, como Portainer, Testcontainers o los plugins de Docker para IDE, no tienen por qué funcionar con wslc. La excepción documentada son los Dev Containers de VS Code, que ya aceptan wslc como motor por defecto, y Aspire.
Cuándo merece la pena dejar Docker Desktop
La licencia es el argumento más claro. Docker Desktop es gratuito para uso personal, educación, proyectos de código abierto no comerciales y empresas con menos de 250 empleados y menos de 10 millones de dólares de facturación anual. Fuera de esos límites necesita suscripción de pago. WSL es código abierto y viene con Windows.
Con lo publicado hasta ahora, esta es mi recomendación:
- Usa wslc si trabajas con contenedores sueltos,
docker buildydocker run, o con Dev Containers en VS Code, y tu empresa paga Docker Desktop solo por eso. - Quédate con Docker Desktop si dependes de Compose, de herramientas que usan el socket de Docker o de Kubernetes local.
- Prueba Podman si quieres un motor sin demonio y compatible con Compose; lo explico en Podman: contenedores sin daemon ni root.
Puedes tener los dos instalados: wslc no sustituye ni desactiva Docker Desktop.
Cómo lo controla una empresa
Las organizaciones pueden gobernar la función desde Intune. Hay dos políticas: activar o desactivar WSL containers y limitar las descargas de imágenes a una lista de registros aprobados. Además, el complemento de Microsoft Defender para Endpoint muestra la actividad de procesos, ficheros y red de los contenedores asociada al equipo Windows donde se ejecutan.
Preguntas frecuentes
¿Necesito Windows 11 para usar WSL containers?
La documentación solo exige WSL 2.9.3 o superior, que se instala con wsl --update. La guía no fija una versión mínima de Windows; comprueba wsl --version tras actualizar.
¿wslc usa las mismas imágenes que Docker?
Sí. wslc descarga imágenes OCI de los mismos registros, como docker.io/library/alpine:latest en el ejemplo de la API, y construye a partir de un Containerfile con la sintaxis de un Dockerfile.
¿Puedo usar docker compose con WSL containers?
Todavía no. Microsoft trabaja en wslc compose como primera prioridad, pero en la versión 3.0.1 no existe.
Conclusión
WSL containers convierte Windows en un sitio donde construir y ejecutar contenedores Linux sin instalar otro producto, con aislamiento por sesión, montajes con virtiofs y una red que respeta la VPN de la empresa. Para un desarrollador que solo construye y ejecuta imágenes, ya es una alternativa a Docker Desktop. Para quien vive en Compose, todavía no.
El siguiente paso, si tienes un equipo con Windows, es ejecutar wsl --update, probar wslc run --rm hello-world y comprobar si tus Dev Containers arrancan con wslc como motor.
Fuentes: [1] Anuncio de WSL containers estable, Windows Developer Blog[3], [2] WSLC architecture deep dive[2], [3] Get started with containers on WSL[1], [4] WSL container, documentación[4], [5] WSL 3.0.1 en GitHub[5], [6] Licencia de Docker Desktop[6].
Fuentes
Código fuente
Accede a todo el código fuente de este artículo en GitHub.
Ver en GitHub