Projekt dockur/windows pozwala uruchomić pełnoprawny system Windows jako kontener Docker, wykorzystując pod spodem QEMU + KVM. To oznacza, że technicznie nie jest to „czysty kontener”, tylko:
VM uruchamiana wewnątrz kontenera, zarządzana automatycznie (ISO, instalacja, konfiguracja).
Najważniejsze cechy:
- automatyczne pobieranie ISO Windows
- automatyczna instalacja systemu
- dostęp przez przeglądarkę (VNC/web viewer)
- dostęp przez RDP
- wsparcie wielu wersji Windows
- wykorzystanie KVM → wydajność bliska natywnej
Architektura (ważne do zrozumienia)
To NIE jest:
- Windows container jak w Windows Server
To JEST:
- QEMU VM → uruchomiona w Dockerze
Czyli stack wygląda tak:
Docker
└── Kontener dockur/windows
└── QEMU
└── Windows VM
Dlatego:
- potrzebujesz /dev/kvm
- potrzebujesz nested virtualization, jeśli jesteś na Proxmox
Wymagania
Minimalne
- Linux host (Ubuntu / Debian / Proxmox VM)
- Docker + Docker Compose
- CPU z VT-x / AMD-V
- dostęp do
/dev/kvm
Rekomendowane
- 4+ CPU
- 8–16 GB RAM
- szybki dysk (NVMe)
WAŻNE (Proxmox)
Jeśli uruchamiasz to w VM na Proxmox:
MUSISZ włączyć nested virtualization
Proxmox → ustawienia VM:
- CPU:
host - zaznacz:
Enable KVM hardware virtualizationNested virtualization
By włączyć nested virtualization, przejdź do swojego node w Proxmox. Następnie Shell i wpisz poniższy kod (numer 124, to numer maszyny na której zainstalujemy docker oraz Windows:
qm set 124 --cpu host

Instalacja krok po kroku (Docker Compose)
1. Instalacja Dockera (Ubuntu-desktop)
Zainstaluj Docker
apt install curl -y
apt install sudo -y
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
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
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. Sprawdzenie KVM
Przejdź do maszyny wirtualnej z zainstalowanym Ubuntu-desktop
sudo apt install cpu-checker -y
kvm-ok

Jeśli widzisz:
KVM acceleration can be used
→ OK

3. Przygotowanie katalogu
mkdir windows-docker
cd windows-docker
nano docker-compose.yml
4. docker-compose.yml
version: "3.8"services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11" <---- W nawiasach wpisujesz wersję Windowsa którą chcesz zainstalować
RAM_SIZE: "6G" <---- wpisujesz ilość ramu jaką chcesz przydzielić
CPU_CORES: "4" <---- Ustawiasz ilość rdzeni
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006 <---- Instancja webowa będzie serwowana na porcie 8006
- 3389:3389/tcp <---- Ustawiony port tcp/udp do połączenia RDP (Remote Desktop Protocol)
- 3389:3389/udp
volumes:
- ./windows:/storage
restart: always
stop_grace_period: 2m
Ten config:
- Windows 11
- 6 GB RAM
- 2 CPU
- RDP
5. Start
sudo docker compose up -d
6. Instalacja Windows (automatyczna)
- Otwórz:
http://IP:8006
- Zobaczysz instalator Windows
- Poczekaj (10–30 min)
Instalacja robi się sama

7. Logowanie
Domyślnie:
- user:
Docker - hasło:
admin

Dostęp do Windows
Opcja 1 – przeglądarka
- http://IP:8006
- słaba jakość (tylko instalacja)
Opcja 2 – RDP (zalecane)
mstsc
- IP: serwera
- port: 3389
pełna wydajność + clipboard (kopiowanie) + audio

Wersje Windows
Możesz zmienić:
VERSION: "10"
Dostępne m.in.:
- Windows 11 / 10
- Windows Server
- Windows 7 / XP

Zaawansowana konfiguracja
1. Więcej RAM / CPU
environment:
RAM_SIZE: "16G"
CPU_CORES: "8"
2. Inny użytkownik
environment:
USERNAME: "admin"
PASSWORD: "SuperHaslo123"
3. Folder współdzielony
volumes:
- ./shared:/shared
Widoczny w Windows jako:
Shared
4. Tryb manualnej instalacji
environment:
MANUAL: "Y"
Najczęstsze problemy
Brak /dev/kvm
Objaw:
KVM not available
Rozwiązanie:
- sprawdź BIOS (VT-x / SVM)
- nested virtualization w Proxmox
Nie działa na VPS
większość VPS:
- NIE wspiera nested virtualization
Brak dostępu do portu 8006
Sprawdź:
docker logs windows
Windows się restartuje w pętli
Często:
- za mało RAM
- brak KVM
Wydajność – real talk
Zalety:
- szybkie uruchomienie
- automatyczna instalacja
- idealne do testów
Wady:
- to nadal VM → overhead
- brak GPU passthrough (w większości przypadków)
- trudniejszy networking niż w normalnym VM
Czy to ma sens w Twoim labie?
Dla Twojego setupu (Proxmox + XDR):
To jest bardzo ciekawa opcja do testów
Możesz:
- szybko tworzyć Windowsy
- resetować środowisko
- testować malware / XDR
- symulować endpointy
ALE:
produkcyjnie → lepiej klasyczne VM w Proxmox
Porównanie
| Cecha | dockur/windows | VM (Proxmox) |
|---|---|---|
| Szybkość deploy | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Stabilność | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Kontrola | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Automatyzacja | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Wydajność | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
dockur/windows to bardzo sprytne narzędzie, które:
- automatyzuje instalację Windows
- działa jako VM w Dockerze
- jest świetne do labów i testów
Idealne dla:
- DevOps
- pentesterów
- labów XDR / SOC
- środowisk testowych
Mniej idealne dla:
- produkcji
- środowisk wymagających GPU / wysokiej stabilności

