
windows v6.04
Esegui Windows all'interno di un container Docker con accelerazione KVM, installazione automatica e risorse personalizzabili. Supporta più versioni di Windows, pass-through USB e networking macvlan.
Windows
[![Build]][build_url]
[![Version]][tag_url]
[![Size]][tag_url]
[![Package]][pkg_url]
[![Pulls]][hub_url]
[![Build]][build_url] [![Version]][tag_url] [![Size]][tag_url] [![Package]][pkg_url] [![Pulls]][hub_url]
Esegui Windows all'interno di un container Docker.
Caratteristiche ✨
- Esegue Windows all'interno di un container Docker
- Download automatico e installazione senza intervento manuale
- Supporta versioni moderne e legacy di Windows
- Prestazioni quasi native con accelerazione KVM
- Allocazione personalizzabile di CPU, memoria e spazio di archiviazione
- Allocazione dinamica della memoria con memory ballooning
- Passaggio di dispositivi USB e condivisione di cartelle con l'host
- Supporta reti NAT, user-mode, macvlan e macvtap
Video 📺
Utilizzo 🐳
Docker Compose:
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 CLI:
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
Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
GitHub Codespaces:
Installer grafico:
Requisiti ⚙️
- Docker o Podman su un host Linux con supporto KVM.
- Docker Desktop o Podman (Desktop) su Windows 11 con virtualizzazione annidata abilitata.
- Almeno 4 GB di RAM disponibile.
- Almeno 64 GB di spazio libero su disco.
[!NOTE] Docker Desktop su Linux, macOS e Windows 10 attualmente non fornisce accesso KVM ai container e pertanto non è supportato.
FAQ 💬
Come si usa?
Molto semplice! Ecco i passaggi:
-
Avvia il container e connettiti alla porta 8006 usando il tuo browser web.
-
Rilassati mentre la magia accade; l'intera installazione verrà eseguita automaticamente.
-
Una volta visualizzato il desktop, la tua installazione di Windows è pronta all'uso.
Goditi la tua nuova macchina e non dimenticare di mettere una stella a questo repo!
Come si seleziona la versione di Windows?
Per impostazione predefinita verrà installato Windows 11 Pro. Puoi aggiungere la variabile d'ambiente VERSION al tuo file compose, per specificare una versione alternativa di Windows da scaricare:
environment:
VERSION: "10"
Scegli tra i valori seguenti:
| Valore | Versione | Dimensione |
|---|---|---|
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] Per installare versioni ARM64 di Windows usa dockur/windows-arm.
Come si modifica la posizione di archiviazione?
Per cambiare la posizione di archiviazione, includi il seguente bind mount nel tuo file compose:
volumes:
- ./windows:/storage
Sostituisci il percorso di esempio ./windows con la cartella di archiviazione o il volume nominato desiderato.
Come si cambia la dimensione del disco?
Per espandere la dimensione predefinita di 64 GB, aggiungi l'impostazione DISK_SIZE al tuo file compose e impostala sulla capacità preferita:
environment:
DISK_SIZE: "256G"
[!TIP] Questo può essere usato anche per ridimensionare un disco esistente a una capacità maggiore senza perdita di dati. Tuttavia, dovrai estendere manualmente la partizione del disco successivamente, poiché lo spazio disco aggiunto apparirà come non allocato.
Come si condividono file con l'host?
Dopo l'installazione, sul desktop sarà presente una cartella chiamata Shared che può essere utilizzata per scambiare file con la macchina host.
Per selezionare una cartella sull'host a questo scopo, includi il seguente bind mount nel tuo file compose:
volumes:
- ./example:/shared
Sostituisci il percorso di esempio ./example con la cartella condivisa desiderata, che diventerà quindi visibile come Shared.
Come si modificano la quantità di CPU o RAM?
Per impostazione predefinita, Windows potrà utilizzare 2 core CPU e 4 GB di RAM.
Se vuoi regolare questo valore, puoi specificare la quantità desiderata utilizzando le seguenti variabili d'ambiente:
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
Come si configurano nome utente e password?
Per impostazione predefinita, viene creato un utente chiamato Docker e la sua password è admin.
Se desideri impostare credenziali diverse durante l'installazione, puoi configurarle nel tuo file compose:
environment:
USERNAME: "bill"
PASSWORD: "gates"
Come si seleziona la lingua di Windows?
Per impostazione predefinita, verrà scaricata la versione inglese di Windows.
Ma puoi aggiungere la variabile d'ambiente LANGUAGE al tuo file compose per specificare una lingua alternativa da scaricare:
environment:
LANGUAGE: "French"
Puoi scegliere tra: 🇦🇪 Arabo, 🇧🇬 Bulgaro, 🇨🇳 Cinese, 🇭🇷 Croato, 🇨🇿 Ceco, 🇩🇰 Danese, 🇳🇱 Olandese, 🇬🇧 Inglese, 🇪🇪 Estone, 🇫🇮 Finlandese, 🇫🇷 Francese, 🇩🇪 Tedesco, 🇬🇷 Greco, 🇮🇱 Ebraico, 🇭🇺 Ungherese, 🇮🇹 Italiano, 🇯🇵 Giapponese, 🇰🇷 Coreano, 🇱🇻 Lettone, 🇱🇹 Lituano, 🇳🇴 Norvegese, 🇵🇱 Polacco, 🇵🇹 Portoghese, 🇷🇴 Rumeno, 🇷🇺 Russo, 🇷🇸 Serbo, 🇸🇰 Slovacco, 🇸🇮 Sloveno, 🇪🇸 Spagnolo, 🇸🇪 Svedese, 🇹🇭 Thailandese, 🇹🇷 Turco e 🇺🇦 Ucraino.
Come si seleziona il layout della tastiera?
Se desideri impostare un layout di tastiera o una lingua che non sia quello predefinito per la lingua selezionata, puoi aggiungere le variabili KEYBOARD e REGION in questo modo:
environment:
REGION: "en-US"
KEYBOARD: "en-US"
Come si installa un'immagine personalizzata?
Per scaricare un'immagine ISO non supportata, specifica il suo URL nella variabile d'ambiente VERSION:
environment:
VERSION: "https://example.com/win.iso"


