Cómo instalar Docker Desktop sin virtualización por hardware

Última actualización: 08/01/2026
Autor: Isaac
  • Docker Desktop en Windows depende de virtualización (Hyper-V o WSL2) para ofrecer un kernel Linux y ejecutar contenedores.
  • WSL2 permite instalar Docker Engine directamente dentro de una distro Linux, evitando Docker Desktop cuando no se necesita GUI.
  • En Windows Pro/Enterprise puede usarse Hyper-V como backend alternativo para Docker Desktop y otras máquinas virtuales.
  • Sin soporte de virtualización por hardware las opciones para usar Docker Desktop se reducen a soluciones remotas o a otros equipos.

Guía Docker Desktop sin virtualización por hardware

Instalar y usar Docker Desktop en Windows cuando no dispones de virtualización por hardware activa (o ni siquiera la soporta tu CPU o tu BIOS) puede parecer misión imposible, sobre todo si vienes de ver docenas de tutoriales que dan por hecho que tienes Hyper-V o WSL2 funcionando. Pero hay más matices: contenedores de Windows, contenedores de Linux, WSL2, Hyper-V, máquinas virtuales clásicas… y cada combinación tiene sus propias limitaciones.

En esta guía vamos a desgranar, con calma pero sin rodeos, qué se puede y qué no se puede hacer con Docker Desktop sin virtualización por hardware, qué alternativas reales tienes para correr contenedores en Windows, cómo aprovechar WSL2 y Docker Engine “puro” para evitar Docker Desktop cuando haga falta y qué trucos puedes aplicar para desarrollar con contenedores de forma cómoda usando VS Code, incluso en equipos modestos.

Contenedores, Docker Desktop y Docker Engine: conceptos clave

Antes de hablar de requisitos de virtualización hay que tener claros algunos conceptos básicos, porque de ellos depende lo que vas a poder hacer en tu máquina:

Un contenedor no es exactamente una máquina virtual: comparte el kernel con el sistema anfitrión y aísla procesos, librerías y sistema de ficheros. Esa es la razón por la que los contenedores de Linux usan el kernel de Linux del host, y los de Windows usan el kernel de Windows del host, salvo que metas una capa de virtualización por medio.

Docker Engine es el motor “real” de Docker, el servicio que crea, gestiona y ejecuta contenedores. Funciona de forma nativa en Linux, se maneja por línea de comandos y es totalmente gratuito, sin límites de uso, pensado tanto para desarrollo como para producción.

Docker Desktop es una aplicación de escritorio que incluye Docker Engine más una interfaz gráfica, integración con Kubernetes, herramientas de desarrollo, panel de recursos, configuración sencilla, etc. En Windows y macOS siempre depende de alguna forma de virtualización para ofrecer un entorno Linux donde vivirán los contenedores.

La gran diferencia entre Linux y Windows es que, en Linux, Docker Engine puede ejecutarse directamente sobre el kernel sin máquina virtual de por medio, mientras que en Windows y macOS Docker Desktop usa una VM Linux oculta, ya sea apoyándose en WSL2 o en Hyper-V, lo que implica necesitar virtualización a nivel de hardware.

Por último, los contenedores de Windows pueden ejecutarse en dos modos: aislamiento de proceso (comparten el kernel de Windows del host) o aislamiento tipo Hyper-V (cada contenedor se ejecuta dentro de una mini VM). En la práctica, para la mayoría de escenarios modernos con Docker Desktop en Windows, se termina usando virtualización de una forma u otra.

¿Se pueden ejecutar contenedores de Windows sin Hyper-V?

Contenedores de Windows y requisitos de virtualización

La duda típica es si se pueden ejecutar contenedores de Windows “puros” sin Hyper-V, aprovechando solo el kernel de Windows del host, en modo aislamiento de procesos, y así evitar virtualización por hardware. En teoría, el aislamiento de procesos permite exactamente eso: usar el mismo kernel sin hipervisor de por medio.

El problema práctico es que la mayoría de escenarios soportados por Docker Desktop y las versiones modernas de Windows están pensados para funcionar con Hyper-V y/o WSL2 activados. Incluso cuando usas contenedores de Windows, Docker Desktop se apoya fuertemente en la infraestructura de virtualización de Microsoft.

Intentar ejecutar contenedores de Windows sin ningún tipo de virtualización te lleva a un callejón con muchas restricciones: dependes de versiones muy específicas de Windows Server o Windows 10/11, necesitas características concretas activadas y, aun así, la experiencia es frágil, compleja de configurar y alejada de lo que ofrece Docker Desktop estándar.

Además, proyectos como ejecutar Docker para Windows sobre Wine en Linux chocan con una realidad bastante dura: Docker Desktop y el motor de Docker en Windows esperan poder hablar con capas de virtualización y con APIs del sistema muy específicas. Wine no implementa toda esa parte de forma fiable, así que esa idea es más un experimento teórico que una solución utilizable.

Conclusión práctica en este punto: si tu objetivo son contenedores de Windows en un host Windows moderno, tarde o temprano vas a necesitar virtualización (Hyper-V o WSL2) para tener una experiencia funcional y soportada. Sin ella, todo se convierte en hacks muy limitados.

Opciones si necesitas Docker en Windows sin apoyarte en Docker Desktop

Alternativas a Docker Desktop en Windows

Si, por la razón que sea, quieres o necesitas evitar Docker Desktop en un host Windows, tienes varias alternativas razonables en función de tu hardware y de la versión de Windows que estés usando.

La opción más clásica es crear una máquina virtual Linux con herramientas como VMware Workstation, Oracle VirtualBox o el propio Hyper-V de Microsoft, instalar ahí una distro Linux y montar Docker Engine dentro. Eso sí: todas estas soluciones siguen necesitando virtualización por hardware activada en la BIOS.

  Cómo Utilizar Las Funciones Izquierda Y Derecha En Excel

VMware y VirtualBox funcionan bien, pero pertenecen a empresas con políticas comerciales discutibles y cierto sobrecoste de recursos. Aun así, son soluciones madurísimas, con interfaces de gestión muy cómodas y toneladas de documentación y tutoriales por toda la red.

Hyper-V viene integrado en Windows (ediciones Pro y superiores), es gratuito y muy sólido. Permite crear máquinas virtuales ligeras donde desplegar Linux y, dentro, Docker Engine. Es una opción muy atractiva si ya cuentas con Windows Pro o Enterprise y quieres un entorno bastante “oficial” sin instalar software de terceros.

La alternativa más sencilla para la mayoría de usuarios domésticos y desarrolladores hoy en día es usar WSL2 (Windows Subsystem for Linux 2) y ejecutar Docker Engine directamente dentro de la distro Linux. De esta forma, puedes olvidarte por completo de Docker Desktop si quieres, trabajar desde la línea de comandos en Linux y seguir usando tus herramientas de Windows.

Instalar y preparar WSL2 en Windows 10 y Windows 11

WSL2 se ha convertido en la forma recomendada por Microsoft y Docker para trabajar con contenedores de Linux en Windows, tanto en Windows 10 como en Windows 11. Ofrece un kernel Linux real empaquetado en una pequeña VM optimizada y se integra muy bien con el sistema.

Primero, comprueba que tu versión de Windows es compatible. Pulsa WIN+R, escribe winver y revisa los datos:

  • Windows 10 debe ser, como mínimo, versión 1903 con compilación 18362.1049 o superior.
  • Windows 11 es compatible en todas sus versiones actuales.

A continuación, verifica si la virtualización por hardware está activada. Abre el Administrador de tareas, ve a la pestaña Rendimiento, selecciona CPU y mira el bloque de información: debería aparecer “Virtualización: habilitada”.

Si aparece como deshabilitada y tu CPU soporta virtualización, tendrás que entrar en la UEFI/BIOS de tu placa base y activar las opciones de virtualización (Intel VT-x, AMD-V o similares). Si tu procesador es muy antiguo o el fabricante la ha bloqueado, aquí estarán tus límites físicos.

Para habilitar las características de WSL2 en Windows, pulsa WIN+R, escribe optionalfeatures y en la ventana de características marca estas dos entradas:

  • Virtual Machine Platform
  • Windows Subsystem for Linux

Deja que Windows descargue e instale los componentes necesarios; al finalizar te pedirá reiniciar. Hazlo, porque sin ese reinicio WSL2 no se aplicará correctamente.

Cuando el sistema vuelva a arrancar, abre un Símbolo del sistema con permisos de administrador (buscar “Símbolo del sistema” en el menú Inicio > botón derecho > Ejecutar como administrador) y ejecuta:

wsl --set-default-version 2

Después actualiza el kernel de WSL2 a la versión más reciente disponible con:

wsl --update --web-download

Para ver qué distribuciones de Linux puedes instalar, lista las disponibles online:

wsl --list --online

La recomendación general para principiantes es usar una Ubuntu LTS reciente, porque la mayoría de documentación y ejemplos están basados en ella. Por ejemplo, para instalar Ubuntu 24.04 LTS:

wsl --install --web-download --distribution Ubuntu-24.04

Cuando termine la instalación de la distro, se abrirá automáticamente una ventana de terminal pidiéndote que crees un usuario y una contraseña para ese Linux. Elige unas credenciales seguras; mejor que no coincidan con las de tu cuenta de Windows.

Si quieres optimizar un poco el espacio ocupado por el disco virtual de la distro, puedes configurarlo como “sparse” (dinámico) desde el símbolo del sistema de Windows:

wsl --manage Ubuntu-24.04 --set-sparse true

A partir de este momento tienes un entorno Linux completo corriendo “dentro” de Windows. Puedes entrar en él en cualquier momento ejecutando wsl desde CMD, PowerShell o usando Windows Terminal, que además te creará perfiles para cada distro instalada.

Instalar Docker Engine en WSL2 sin Docker Desktop

Con la distro Linux funcionando bajo WSL2, el siguiente paso es instalar Docker Engine directamente ahí, evitando así la capa adicional de Docker Desktop. Esto te da un rendimiento muy cercano al nativo y, en muchos casos, simplifica la vida si no necesitas la interfaz gráfica.

Arranca tu Ubuntu en WSL2 y actualiza primero la lista de paquetes para asegurarte de que todo está al día:

sudo apt-get update

Instala las dependencias básicas para trabajar con repositorios HTTPS y gestionar claves GPG de terceros:

sudo apt-get install ca-certificates curl

Crea el directorio donde guardarás la clave GPG del repositorio oficial de Docker y descarga la clave:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Añade el repositorio oficial de Docker para Ubuntu usando la arquitectura y el nombre en clave de tu sistema:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Actualiza otra vez los repositorios ahora que has añadido la fuente de Docker e instala el motor con sus herramientas:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Para no tener que usar siempre sudo con los comandos de Docker, añade tu usuario de Linux al grupo docker:

sudo usermod -aG docker $USER

Haz cierre de sesión en la distro y vuelve a entrar (o cierra la ventana de WSL y ábrela de nuevo) para que los cambios de grupo se apliquen. Si todo ha ido bien, podrás ejecutar:

  Java Virtual Machine Launcher Error | Soluciones

docker info
docker run --rm hello-world

Si ves el mensaje de bienvenida de Docker, ya tienes tu entorno de contenedores de Linux funcionando sobre WSL2, completamente independiente de Docker Desktop y con un consumo de recursos muy contenido.

Usar Docker Desktop con backend WSL2 en lugar de Hyper-V

Si prefieres una experiencia más “de escritorio”, con interfaz gráfica y asistentes, puedes seguir apostando por Docker Desktop pero indicándole que use WSL2 como backend en lugar de Hyper-V. Esto es especialmente útil en Windows 10 Home, donde Hyper-V completo no está disponible.

Descarga Docker Desktop desde la web oficial de Docker y ejecuta el instalador. Durante el proceso, si tu sistema soporta ambas cosas, te preguntará si quieres usar WSL2 o Hyper-V. En la mayoría de escenarios de desarrollo la recomendación es marcar WSL2.

Una vez instalado, arranca Docker Desktop desde el menú Inicio. Cuando el icono de Docker aparezca en la bandeja del sistema (puede que en el menú de iconos ocultos), haz clic derecho y entra en Settings.

En la sección General de la configuración, asegúrate de que está activa la casilla “Use the WSL 2 based engine”, porque es la que indica a Docker Desktop que debe apoyarse en WSL2 para ejecutar los contenedores de Linux.

Dentro de Settings > Resources > WSL Integration, verás la lista de distribuciones de WSL2 instaladas. Activa la integración en aquellas en las que quieras usar Docker (por ejemplo, tu Ubuntu 24.04). A partir de ese momento, podrás lanzar contenedores desde esa distro usando el Docker Engine que gestiona Docker Desktop.

Para confirmar que todo está en orden, abre un terminal de tu distro WSL y ejecuta:

docker --version
docker run hello-world

Si el contenedor de prueba se ejecuta sin problemas, tienes Docker Desktop trabajando con backend WSL2, lo que te permite combinar interfaz gráfica, gestión sencilla de imágenes y el rendimiento razonablemente bueno de WSL2.

Hyper-V como alternativa de virtualización para Docker Desktop

En equipos con Windows 10/11 Pro o Enterprise y virtualización por hardware disponible, otra opción es dejar que Docker Desktop use Hyper-V directamente como motor de virtualización para su máquina virtual Linux interna.

Hyper-V es el hipervisor nativo de Microsoft, disponible tanto en Windows Server como en las ediciones profesionales de Windows de escritorio. Para Docker, actúa como host para una VM ligera sobre la que se ejecuta Docker Engine y todo el stack de contenedores.

Para habilitar Hyper-V, vuelve al panel de características de Windows (Panel de control > Programas > Programas y características > Activar o desactivar las características de Windows) y marca la casilla de Hyper-V. Si te lo pide, ten a mano la ISO o deja que Windows descargue los componentes.

Tras el reinicio, descarga e instala Docker Desktop para Windows. Durante el asistente, desmarca la opción de usar WSL2 como backend y deja activado el uso de Hyper-V. El instalador creará la VM de Docker sobre Hyper-V y configurará los servicios necesarios.

Cuando reinicies y arranques Docker Desktop, inicia sesión con tu cuenta de Docker (gratuita para uso personal y pequeñas empresas) y completa el breve cuestionario de bienvenida. Si hay errores de arranque del motor, revisa que Hyper-V esté correctamente habilitado y que no estés dentro de otra máquina virtual sin virtualización anidada.

Desde la interfaz de Docker Desktop podrás ver el consumo de CPU y memoria de tus contenedores, descargar imágenes del Hub, lanzar contenedores desde la búsqueda integrada y, en general, trastear sin tocar apenas la línea de comandos. Eso sí, el coste es depender sí o sí de la virtualización por hardware de Hyper-V.

Requisitos de Docker Desktop en Windows y limitaciones sin virtualización

Por diseño, Docker Desktop en Windows exige que la virtualización esté habilitada, ya sea para usar Hyper-V o para levantar el pequeño entorno de WSL2 con su kernel Linux. Ese requisito no es un capricho: los contenedores de Linux necesitan un kernel Linux, y en Windows solo puedes proporcionarlo mediante una VM.

Los requisitos mínimos típicos para instalar Docker Desktop en Windows 10 incluyen:

  • CPU de 64 bits con SLAT y soporte de virtualización de hardware activado.
  • Al menos 4 GB de RAM para que el sistema y los contenedores respiren.
  • Windows 10 Home, Pro o Enterprise, o Windows 11 equivalente.
  • 20 GB o más de espacio en disco para la propia herramienta, las imágenes y los volúmenes.
  • Hyper-V o WSL2 activados según la edición de Windows.

En Windows 10 Home solo podrás usar Docker Desktop con backend WSL2, ya que Hyper-V completo no está presente. En Pro y Enterprise puedes elegir, pero a día de hoy WSL2 suele ser la apuesta más flexible y con mejor integración para desarrollo.

Si no tienes virtualización por hardware disponible o activable, la situación se complica: Docker Desktop no arrancará correctamente y, aunque intentes tirar de workarounds, trabajarás contra el diseño base de la herramienta. En ese contexto, la salida suele ser usar otra máquina, un servidor Linux remoto o, como mínimo, una VM en la nube.

  6 Mejores Software De Diagnóstico Automotriz

Integrar Docker y WSL2 con Visual Studio Code y contenedores remotos

Una vez que tienes contenedores funcionando (ya sea con Docker Engine en WSL2 o con Docker Desktop), la forma más cómoda de desarrollar suele ser con Visual Studio Code y sus extensiones para entornos remotos.

Lo primero es instalar la extensión “WSL” en VS Code. Esta extensión permite abrir carpetas que residen en tu distro Linux (por ejemplo, Ubuntu en WSL2) directamente en VS Code, sin quebraderos de cabeza con rutas, permisos ni binarios incompatibles.

Instala también la extensión “Dev Containers”. Gracias a ella, puedes abrir tu proyecto dentro de un contenedor Docker y hacer que ese contenedor sea tu entorno de desarrollo completo: dependencias, versión de Python, Node, .NET, etc., todo encapsulado.

Por último, añade la extensión “Docker” de VS Code para poder gestionar imágenes, contenedores, registros y despliegues desde la propia interfaz del editor, con paneles laterales y comandos contextuales.

Un flujo típico sería clonar un proyecto en tu distro WSL2, por ejemplo:

git clone https://github.com/<usuario>/mi-proyecto.git
cd mi-proyecto

Desde ahí, lanzas VS Code apuntando a la carpeta del proyecto con:

code .

En la paleta de comandos de VS Code (Ctrl+Mayús+P), seleccionas “Dev Containers: Reopen in Container” para que el proyecto se vuelva a abrir dentro de un contenedor Docker definido por una configuración .devcontainer. Si no existe, la extensión te sugerirá plantillas en función del tipo de proyecto (Python, Node, .NET, etc.).

En cuanto el contenedor se construya y arranque, tendrás un entorno de desarrollo limpio y reproducible, con el que podrás depurar, ejecutar tests, lanzar el servidor de desarrollo y abrirlo en el navegador de Windows como si se tratase de una app local.

Problemas frecuentes y cómo solventarlos

Si alguna vez probaste versiones preliminares de Docker para WSL, es posible que tengas un contexto de Docker llamado wsl que ya está obsoleto y puede generar errores del estilo “open //./pipe/docker_wsl: El sistema no encuentra el archivo especificado”.

Para comprobar los contextos disponibles, ejecuta:

docker context ls

Si ves uno llamado wsl, puedes eliminarlo con total tranquilidad usando:

docker context rm wsl

Otro punto que suele dar quebraderos de cabeza es localizar dónde guarda Docker los datos cuando trabaja con WSL2. Normalmente verás algo como:

  • \wsl$\docker-desktop
  • \wsl$\docker-desktop-data

Para explorarlas desde el Explorador de archivos de Windows, abre una terminal en tu distro WSL y ejecuta:

explorer.exe .

Si navegas a la ruta \\wsl\<Distro>\mnt\wsl (sustituyendo <Distro> por el nombre real, por ejemplo Ubuntu-24.04), deberías poder ver las carpetas donde Docker Desktop almacena capas de imágenes y volúmenes.

Cuando Docker Desktop se niega a arrancar o se queda “colgado”, casi siempre está relacionado con uno de estos puntos: virtualización desactivada en BIOS, servicios de Hyper-V dañados, WSL2 desactualizado o conflictos con otra herramienta de virtualización que también quiera controlar VT-x/AMD-V.

Qué hacer si tu hardware no soporta virtualización por hardware

Si tras revisar BIOS y documentación descubres que tu equipo realmente no soporta virtualización por hardware, las posibilidades se reducen bastante y, especialmente, Docker Desktop no será una opción viable en Windows.

En ese caso, las salidas razonables pasan por apoyarte en otra máquina o en la nube: un pequeño servidor Linux en tu red local, una instancia en algún proveedor cloud barato o incluso un portátil más reciente que sí ofrezca VT-x/AMD-V. Desde tu Windows podrías conectarte por SSH y usar Docker Engine allí.

También puedes seguir la vía de virtualización “software” con herramientas muy antiguas o configuraciones experimentales, pero el rendimiento será pobre y la estabilidad cuestionable. Para un entorno de aprendizaje muy básico te puede servir, pero para algo mínimamente serio es mejor no basarlo en ese tipo de soluciones.

En resumen práctico, si tu GPU es decente pero la CPU no soporta virtualización, puedes seguir trabajando con herramientas de desarrollo locales y reservar Docker y los contenedores para un entorno remoto. No es tan cómodo, pero al menos tendrás un entorno compatible y mantenible.

Montar un entorno razonable de Docker Desktop sin virtualización por hardware activa en Windows está muy limitado por el propio diseño de la herramienta y por la necesidad de un kernel Linux en una VM; sin embargo, combinando WSL2, Docker Engine nativo en Linux, la integración con Visual Studio Code y, cuando el hardware lo permite, Hyper-V o WSL2 como backend de Docker Desktop, puedes disponer de un entorno de contenedores potente, flexible y bastante ligero incluso en equipos domésticos, siempre que asumas que la virtualización por hardware ya no es opcional sino prácticamente un requisito de partida.