dockurr-windows - Windows 10 und 11 im Docker-Container ausführen

dockurr-windows - Windows 10 und 11 im Docker-Container ausführen

dockurr/windows ermöglicht es, Windows 10, 11 oder Server-Editionen als vollwertige virtuelle Maschine innerhalb eines Docker-Containers zu betreiben.

Was ist dockurr/windows?

Das Image dockurr/windows von dockurr nutzt KVM-Virtualisierung innerhalb eines privilegierten Containers, um ein vollständiges Windows-System zu starten. Der Container lädt automatisch ein ISO-Image herunter (oder nutzt ein bereitgestelltes), installiert Windows und betreibt die VM dauerhaft. Zugriff auf den Windows-Desktop erfolgt per RDP oder über das integrierte noVNC-Webinterface. Das Projekt eignet sich für Szenarien, in denen Windows-Software in einer isolierten Umgebung ausgeführt werden muss – ohne dedizierte Hardware oder Hypervisor-Installation.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Host-System mit KVM-Unterstützung (/dev/kvm verfügbar)
  • Mindestens 4 GB RAM, 64 GB freier Speicherplatz empfohlen
  • Linux-Host (KVM ist unter Windows/macOS nicht verfügbar)

Compose-Beispiel

services:
  windows:
    image: dockurr/windows:latest
    container_name: windows
    restart: unless-stopped
    ports:
      - "8006:8006"
      - "3389:3389"
    volumes:
      - ./data:/storage
    environment:
      - VERSION=win11
      - RAM_SIZE=4G
      - CPU_CORES=2
      - DISK_SIZE=64G
      - TZ=Europe/Berlin
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN

Hinweise

  • VERSION steuert die Windows-Edition: win10, win11, win2022 oder eine eigene ISO-URL – die vollständige Liste steht im GitHub-Repository.
  • KVM-Unterstützung auf dem Host prüfen: kvm-ok oder ls /dev/kvm – ohne /dev/kvm startet die VM extrem langsam per QEMU-Softwareemulation.
  • Der erste Start dauert lange – Windows wird vollständig installiert; dieser Vorgang kann 20–60 Minuten in Anspruch nehmen.
  • RDP (Port 3389) ist für produktive Nutzung empfohlen; das noVNC-Interface auf Port 8006 eignet sich für den Erstzugriff und die Konfiguration.