- Integración nativa de contenedores Linux mediante el kernel de WSL 2 para optimizar el rendimiento de CPU y memoria.
- Configuración de la interoperabilidad entre la CLI de Docker en Windows y las distribuciones de Linux instaladas.
- Gestión avanzada de volúmenes y rutas de archivos para evitar errores de montaje entre sistemas de archivos NTFS y ext4.
¿Cómo usar Docker Desktop junto con WSL sin conflictos? Si eres desarrollador y trabajas en Windows, probablemente ya sepas que montar un entorno de Linux puede ser un quebradero de cabeza si no se hace bien. La llegada de WSL 2 ha cambiado las reglas del juego, permitiéndonos ejecutar un kernel de Linux real dentro de nuestro sistema operativo sin que la máquina virtual nos coma todos los recursos del ordenador.
El problema viene cuando queremos meter Docker en la ecuación. Ya sea que busques la comodidad de Docker Desktop o que prefieras ir a lo bruto instalando el motor directamente en la distro, existen varias rutas para lograrlo. En este artículo vamos a desgranar todas las opciones para que tu flujo de trabajo sea fluido y no te vuelvas loco con errores de conexión al demonio.
La vía rápida: Docker Desktop con el backend de WSL 2

Para la mayoría de los mortales, la opción más sencilla es instalar Docker Desktop y dejar que él haga el trabajo sucio. Al instalarlo, es fundamental marcar la casilla de compatibilidad con WSL 2, ya que esto sustituye la antigua arquitectura de Hyper-V por una mucho más ligera y veloz.
Una vez instalado, no basta con darle a siguiente. Tienes que ir a los ajustes, entrar en Resources y luego en WSL Integration. Aquí es donde ocurre la magia: debes activar el interruptor de la distribución específica que estés usando (como Ubuntu o Debian). De esta forma, Docker Desktop crea sus propias distros internas, llamadas docker-desktop y docker-desktop-data, que gestionan el motor y los datos separadamente de tu entorno de desarrollo.
La alternativa para puristas: Docker Engine sin Docker Desktop

Hay quien prefiere evitar el software de terceros y quiere instalar Docker directamente en su distribución de Linux. Para hacer esto, primero debes asegurarte de que tienes WSL 2 configurado como versión predeterminada mediante el comando wsl --set-default-version 2 y que la virtualización está activa en la BIOS de tu PC.
El proceso consiste en añadir los repositorios oficiales de Docker dentro de tu terminal de Linux, instalar el motor (docker-ce), la CLI y el plugin de Compose. Un truco vital aquí es ejecutar sudo usermod -aG docker $USER para que no tengas que estar escribiendo sudo cada vez que quieras levantar un contenedor, lo cual es un engorro considerable.
Novedades con wslc.exe: Una nueva forma de contenerizar
Recientemente ha aparecido wslc.exe, una herramienta CLI que viene integrada en las versiones más modernas de WSL (específicamente desde la 2.9.3). Esta utilidad permite compilar y ejecutar contenedores de Linux sin necesidad de tener instalado un motor de Docker externo, simplificando la experiencia para quienes solo necesitan tareas básicas de contenedores.
Para aprovecharlo, es recomendable actualizar WSL con el comando wsl --update --pre-release. Con wslc puedes hacer desde un simple run hello-world hasta construir imágenes propias usando un Containerfile, integrándose a la perfección con Visual Studio Code y su extensión de WSL para depurar el código en tiempo real.
Solución de conflictos comunes y errores de conexión
Es muy frecuente toparse con el temido error «Cannot connect to the Docker daemon». Esto suele pasar por dos razones: o el servicio no ha arrancado, o hay restos de instalaciones antiguas que están confundiendo a la CLI. Si vienes de WSL 1, lo mejor es hacer una limpieza profunda eliminando carpetas como /var/lib/docker y limpiando las variables de entorno en tu archivo .bashrc.
Otro punto crítico es la gestión de los volúmenes. Docker Desktop espera rutas tipo /c/Users/..., mientras que WSL usa /mnt/c/Users/.... Para solucionar este choque, puedes crear un archivo /etc/wsl.conf y configurar el montaje en la raíz (root = /), lo que hará que tus rutas de archivos sean compatibles y no tengas que andar haciendo enlaces simbólicos manuales que dan dolores de cabeza.
Optimización del espacio y rendimiento
Los contenedores y las imágenes pueden devorar el disco duro rápidamente. Para evitar que tu partición de Windows se llene, es recomendable usar el comando wsl --manage <distro> --set-sparse true, que permite que el disco virtual sea disperso y recupere espacio automáticamente.
Asimismo, para mantener el sistema limpio, acostúmbrate a ejecutar docker system prune o wslc image prune periódicamente. Esto borrará todas aquellas imágenes y contenedores detenidos que solo están ahí ocupando espacio innecesario y ralentizando el sistema.
Apasionado de la tecnología desde pequeñito. Me encanta estar a la última en el sector y sobre todo, comunicarlo. Por eso me dedico a la comunicación en webs de tecnología y videojuegos desde hace ya muchos años. Podrás encontrarme escribiendo sobre Android, Windows, MacOS, iOS, Nintendo o cualquier otro tema relacionado que se te pase por la cabeza.