
windows v6.04
Exécutez Windows dans un conteneur Docker avec accélération KVM, installation automatique et ressources personnalisables. Prend en charge plusieurs versions de Windows, le passthrough USB et le réseau 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]
Windows dans un conteneur Docker.
Fonctionnalités ✨
- Exécute Windows dans un conteneur Docker
- Téléchargement automatique et installation sans intervention
- Prend en charge les versions de Windows modernes et anciennes
- Performances proches du natif avec l'accélération KVM
- Allocation personnalisable du CPU, de la mémoire et du stockage
- Allocation dynamique de la mémoire avec ballonnement mémoire
- Passthrough USB et partage de dossiers avec l'hôte
- Prend en charge les réseaux NAT, mode utilisateur, macvlan et macvtap
Vidéo 📺
Utilisation 🐳
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 :
Installateur graphique :
Configuration requise ⚙️
- Docker ou Podman sur un hôte Linux avec prise en charge de KVM.
- Docker Desktop ou Podman (Desktop) sur Windows 11 avec virtualisation imbriquée activée.
- Au moins 4 Go de RAM disponible.
- Au moins 64 Go d'espace disque libre.
[!NOTE] Docker Desktop sur Linux, macOS et Windows 10 ne fournit actuellement pas l'accès KVM aux conteneurs et n'est donc pas pris en charge.
FAQ 💬
Comment l'utiliser ?
Très simple ! Voici les étapes :
-
Démarrez le conteneur et connectez-vous au port 8006 à l'aide de votre navigateur web.
-
Asseyez-vous et détendez-vous pendant que la magie opère, toute l'installation sera effectuée entièrement automatiquement.
-
Une fois le bureau affiché, votre installation de Windows est prête à l'emploi.
Profitez de votre toute nouvelle machine, et n'oubliez pas de mettre une étoile à ce dépôt !
Comment choisir la version de Windows ?
Par défaut, Windows 11 Pro sera installé. Mais vous pouvez ajouter la variable d'environnement VERSION à votre fichier compose, afin de spécifier une version alternative de Windows à télécharger :
environment:
VERSION: "10"
Choisissez parmi les valeurs ci-dessous :
| Valeur | Version | Taille |
|---|---|---|
11 | Windows 11 Pro | 7,9 Go |
11l | Windows 11 LTSC | 4,7 Go |
11e | Windows 11 Entreprise | 6,6 Go |
10 | Windows 10 Pro | 5,7 Go |
10l | Windows 10 LTSC | 4,6 Go |
10e | Windows 10 Entreprise | 5,2 Go |
8e | Windows 8.1 Entreprise | 3,7 Go |
7u | Windows 7 Ultimate | 3,1 Go |
vu | Windows Vista Ultimate | 3,0 Go |
xp | Windows XP Professionnel | 0,6 Go |
2k | Windows 2000 Professionnel | 0,4 Go |
2025 | Windows Server 2025 | 7,6 Go |
2022 | Windows Server 2022 | 6,0 Go |
2019 | Windows Server 2019 | 5,3 Go |
2016 | Windows Server 2016 | 6,5 Go |
2012 | Windows Server 2012 | 4,3 Go |
2008 | Windows Server 2008 | 3,0 Go |
2003 | Windows Server 2003 | 0,6 Go |
[!TIP] Pour installer des versions ARM64 de Windows, utilisez dockur/windows-arm.
Comment modifier l'emplacement de stockage ?
Pour modifier l'emplacement de stockage, incluez le montage bind suivant dans votre fichier compose :
volumes:
- ./windows:/storage
Remplacez le chemin d'exemple ./windows par le dossier de stockage ou le volume nommé souhaité.
Comment modifier la taille du disque ?
Pour augmenter la taille par défaut de 64 Go, ajoutez le paramètre DISK_SIZE à votre fichier compose et définissez-le à la capacité souhaitée :
environment:
DISK_SIZE: "256G"
[!TIP] Cela peut également être utilisé pour redimensionner un disque existant vers une capacité plus grande sans aucune perte de données. Cependant, vous devrez étendre manuellement la partition du disque par la suite, car l'espace disque ajouté apparaîtra comme non alloué.
Comment partager des fichiers avec l'hôte ?
Après l'installation, un dossier nommé Shared sera présent sur votre bureau, qui peut être utilisé pour échanger des fichiers avec la machine hôte.
Pour sélectionner un dossier sur l'hôte à cette fin, incluez le montage bind suivant dans votre fichier compose :
volumes:
- ./example:/shared
Remplacez le chemin d'exemple ./example par votre dossier partagé souhaité, qui deviendra alors visible sous le nom Shared.
Comment modifier la quantité de CPU ou de RAM ?
Par défaut, Windows est autorisé à utiliser 2 cœurs de CPU et 4 Go de RAM.
Si vous souhaitez ajuster cela, vous pouvez spécifier la quantité souhaitée à l'aide des variables d'environnement suivantes :
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
Comment configurer le nom d'utilisateur et le mot de passe ?
Par défaut, un utilisateur nommé Docker est créé et son mot de passe est admin.
Si vous souhaitez définir des informations d'identification différentes lors de l'installation, vous pouvez les configurer dans votre fichier compose :
environment:
USERNAME: "bill"
PASSWORD: "gates"
Comment choisir la langue de Windows ?
Par défaut, la version anglaise de Windows sera téléchargée.
Mais vous pouvez ajouter la variable d'environnement LANGUAGE à votre fichier compose, afin de spécifier une langue alternative à télécharger :
environment:
LANGUAGE: "French"
Vous pouvez choisir entre : 🇦🇪 arabe, 🇧🇬 bulgare, 🇨🇳 chinois, 🇭🇷 croate, 🇨🇿 tchèque, 🇩🇰 danois, 🇳🇱 néerlandais, 🇬🇧 anglais, 🇪🇪 estonien, 🇫🇮 finnois, 🇫🇷 français, 🇩🇪 allemand, 🇬🇷 grec, 🇮🇱 hébreu, 🇭🇺 hongrois, 🇮🇹 italien, 🇯🇵 japonais, 🇰🇷 coréen, 🇱🇻 letton, 🇱🇹 lituanien, 🇳🇴 norvégien, 🇵🇱 polonais, 🇵🇹 portugais, 🇷🇴 roumain, 🇷🇺 russe, 🇷🇸 serbe, 🇸🇰 slovaque, 🇸🇮 slovène, 🇪🇸 espagnol, 🇸🇪 suédois, 🇹🇭 thaï, 🇹🇷 turc et 🇺🇦 ukrainien.
Comment choisir la disposition du clavier ?
Si vous souhaitez configurer une disposition de clavier ou une région qui n'est pas celle par défaut pour la langue sélectionnée, vous pouvez ajouter les variables KEYBOARD et REGION comme ceci :
environment:
REGION: "en-US"
KEYBOARD: "en-US"


