
Ejecuta Windows dentro de un contenedor Docker con aceleración KVM, instalación automática y recursos personalizables. Soporta múltiples versiones de Windows, paso de USB y redes macvlan.
[![Build]][build_url] [![Version]][tag_url] [![Size]][tag_url] [![Package]][pkg_url] [![Pulls]][hub_url]
Windows dentro de un contenedor Docker.
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- ./windows:/storage
restart: always
stop_grace_period: 2m
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
[!NOTE] Docker Desktop en Linux, macOS y Windows 10 actualmente no proporciona acceso KVM a los contenedores y por lo tanto no es compatible.
¡Muy sencillo! Estos son los pasos:
Inicia el contenedor y conéctate al puerto 8006 usando tu navegador web.
Siéntate y relájate mientras ocurre la magia; toda la instalación se realizará de forma totalmente automática.
Una vez que veas el escritorio, tu instalación de Windows está lista para usar.
¡Disfruta de tu nueva máquina y no olvides dejar una estrella en este repositorio!
Por defecto, se instalará Windows 11 Pro. Pero puedes añadir la variable de entorno VERSION a tu archivo compose para especificar una versión alternativa de Windows que se descargará:
environment:
VERSION: "10"
Selecciona entre los valores siguientes:
| Valor | Versión | Tamaño |
|---|---|---|
11 | Windows 11 Pro | 7.9 GB |
11l | Windows 11 LTSC | 4.7 GB |
11e | Windows 11 Enterprise | 6.6 GB |
10 | Windows 10 Pro | 5.7 GB |
10l | Windows 10 LTSC | 4.6 GB |
10e | Windows 10 Enterprise | 5.2 GB |
8e | Windows 8.1 Enterprise | 3.7 GB |
7u | Windows 7 Ultimate | 3.1 GB |
vu | Windows Vista Ultimate | 3.0 GB |
xp | Windows XP Professional | 0.6 GB |
2k | Windows 2000 Professional | 0.4 GB |
2025 | Windows Server 2025 | 7.6 GB |
2022 | Windows Server 2022 | 6.0 GB |
2019 | Windows Server 2019 | 5.3 GB |
2016 | Windows Server 2016 | 6.5 GB |
2012 | Windows Server 2012 | 4.3 GB |
2008 | Windows Server 2008 | 3.0 GB |
2003 | Windows Server 2003 | 0.6 GB |
[!TIP] Para instalar versiones ARM64 de Windows usa dockur/windows-arm.
Para cambiar la ubicación de almacenamiento, incluye el siguiente montaje bind en tu archivo compose:
volumes:
- ./windows:/storage
Reemplaza la ruta de ejemplo ./windows con la carpeta de almacenamiento o volumen nombrado deseado.
Para ampliar el tamaño predeterminado de 64 GB, añade la configuración DISK_SIZE a tu archivo compose y ajústala a la capacidad deseada:
environment:
DISK_SIZE: "256G"
[!TIP] Esto también se puede usar para redimensionar un disco existente a una capacidad mayor sin pérdida de datos. Sin embargo, necesitarás extender manualmente la partición del disco después, ya que el espacio adicional aparecerá como no asignado.
Después de la instalación, habrá una carpeta llamada Shared en tu escritorio, que se puede usar para intercambiar archivos con la máquina anfitriona.
Para seleccionar una carpeta en el anfitrión con este propósito, incluye el siguiente montaje bind en tu archivo compose:
volumes:
- ./example:/shared
Reemplaza la ruta de ejemplo ./example con la carpeta compartida deseada, que entonces se hará visible como Shared.
Por defecto, a Windows se le permitirá usar 2 núcleos de CPU y 4 GB de RAM.
Si deseas ajustar esto, puedes especificar la cantidad deseada usando las siguientes variables de entorno:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
Por defecto, se crea un usuario llamado Docker y su contraseña es admin.
Si deseas establecer credenciales diferentes durante la instalación, puedes configurarlas en tu archivo compose:
environment:
USERNAME: "bill"
PASSWORD: "gates"
Por defecto, se descargará la versión en inglés de Windows.
Pero puedes añadir la variable de entorno LANGUAGE a tu archivo compose para especificar un idioma alternativo que se descargará:
environment:
LANGUAGE: "French"
Puedes elegir entre: 🇦🇪 Árabe, 🇧🇬 Búlgaro, 🇨🇳 Chino, 🇭🇷 Croata, 🇨🇿 Checo, 🇩🇰 Danés, 🇳🇱 Neerlandés, 🇬🇧 Inglés, 🇪🇪 Estonio, 🇫🇮 Finés, 🇫🇷 Francés, 🇩🇪 Alemán, 🇬🇷 Griego, 🇮🇱 Hebreo, 🇭🇺 Húngaro, 🇮🇹 Italiano, 🇯🇵 Japonés, 🇰🇷 Coreano, 🇱🇻 Letón, 🇱🇹 Lituano, 🇳🇴 Noruego, 🇵🇱 Polaco, 🇵🇹 Portugués, 🇷🇴 Rumano, 🇷🇺 Ruso, 🇷🇸 Serbio, 🇸🇰 Eslovaco, 🇸🇮 Esloveno, 🇪🇸 Español, 🇸🇪 Sueco, 🇹🇭 Tailandés, 🇹🇷 Turco y 🇺🇦 Ucraniano.
Si deseas configurar una distribución del teclado o configuración regional que no sea la predeterminada para el idioma seleccionado, puedes añadir las variables KEYBOARD y REGION de esta manera:
environment:
REGION: "en-US"
KEYBOARD: "en-US"
Para descargar una imagen ISO no compatible, especifica su URL en la variable de entorno VERSION:
environment:
VERSION: "https://example.com/win.iso"