Como correr windows sobre docker
Hoy os traigo un proyecto curioso, el cual nos permite correr un windows 2000, XP, Vista Ultimate, 7 ultimate, 8.1 Enterprise, 10 Enterprise, 10 LSTC, 10 PRO, 11 Enterprise, 11 LTSC, 11 PRO, 2003,2008, 2012, 2016, 2019, 2022 y 2025 sobre docker para usarlo para pentest, pruebas, proxy o lo que queramos.
Todo esto es gracias al proyecto https://github.com/dockur/windows
Yo voy a desplegarlo sobre una máquina debian que tengo en mi lab que tiene 16GB y 2 cores, ya que por defecto, usa 2 cores y 4GB de ram con un disco de 64GB

También es necesario que el contenedor tenga acceso KVM y no funcionan sobre Docker Desktop en linux, MacOSX y Windows 10, por no proporcionar ese acceso.
Para verificar, en un host windows, si KVM está disponible en nuestra máquina, usaremos cpu-checker. Ejecutamos los siguientes comandos:
sudo apt install cpu-checker
sudo kvm-ok
Si nos dice KVM acceleration can be used, podemos seguir con el despliegue del contenedor. En caso de darnos un error, no nos funcionará.
En mi caso, voy a crear un docker-compose, con el siguiente contenido:
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: 2mDejo aquí la tabla de versiones que podemos desplegar:
| Value | Version | Size |
|---|---|---|
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 |
Para usar una u otra, cambiamos el valor de versión. En este caso, voy a desplegar un windows 11 PRO, por ello he puesto 11 como valor.
Lanzo el docker compose:

Y accedo, por el navegador a la ip de la máquina y puerto 8006 para ver el progreso:
Primero descargará la ISO:

Luego extraerá todos los ficheros crear la instalación personalizada

Crea el instalador

Arranca la máquina con la iso

Y empieza la instalación



Al finalizar la instalación, ya tendremos nuestro windows operativo

El usuario y contraseña Docker con password admin. Podemos modificar el usuario, la configuración regional, ram, cpu, etc con variables de entorno que podemos encontrar en el repo de github, https://github.com/dockur/windows