Virtualisation
Windows dans un conteneur Docker permet l'exécution d'une version complète de Windows (comme Windows 10, Windows 11, Windows Server, ou même des versions anciennes comme Windows XP) à l'intérieur d'un conteneur Docker, grâce à des projets comme Dockur/Windows. Ce projet encapsule un environnement QEMU/KVM dans un conteneur Docker, permettant de lancer un système d'exploitation complet avec son propre noyau, système de fichiers et interface graphique. L'accès se fait généralement via un navigateur (interface VNC) ou un client RDP.
Exigences matérielles
Pour garantir un fonctionnement optimal, les exigences suivantes sont nécessaires :
-
Système d’exploitation hôte : Linux (recommandé pour une meilleure compatibilité avec KVM).
- Virtualisation matérielle activée : Support de Intel VT-x ou AMD-V dans le BIOS/UEFI.
-
Accélération matérielle KVM : Nécessaire pour des performances acceptables.
-
Ressources système recommandées :
-
CPU : 4 cœurs ou plus.
-
RAM : 8 Go minimum (16 Go recommandés pour une utilisation fluide).
-
Stockage : Au moins 50 Go d’espace libre (ajustable via
DISK_SIZEdansdocker-compose.yml).
-
-
Docker et Docker Compose installés sur l’hôte.
-
Accès aux périphériques matériels : Le conteneur doit avoir accès à
/dev/kvmpour l’accélération matérielle.
Légalité
"Oui, ce projet contient uniquement du code open source et ne distribue aucun matériel protégé par le droit d'auteur. Toutes les clés de produit trouvées dans le code ne sont que des espaces réservés génériques fournis par Microsoft à des fins d’essai. Ainsi, selon toutes les lois applicables, ce projet sera considéré comme légal." (Extrait du GitHub dockur/windows)
Utilité
Cela peut-être particulièrement utile pour tester des logiciels anciens, exécuter des applications Windows dans un environnement isolé, ou essayer différentes versions de Windows.
Si vous avez besoin de logiciel Windows avec un fonctionnement ou un accès local ou à distance (RDP) permanent
Sur ZimaOS, vous disposez de l'application ZVM pour déployer divers système d'exploitation (Linux et Windows) et sans nul doute plus adapté pour virtualiser Windows.
Sur CasaOS, installé sur un système Linux, cela peut être une solution de virtualisation pour Windows dans la mesure où votre matériel Serveur le permet.
À ce titre, cet article illustrera et testera cette installation sur la console de CasaOS.
Macvlan
Vous pouvez utiliser pleinement Windows en Docker (mode Bridge) via RDP (en local et à distance) et partager à partir de celui-ci (SMB et Dossier de partage) avec vos autres appareils (serveur hôte et autre PC du réseau). Vous aurez donc peu d'utilité à l'installer sur un réseau macvlan.
Si vous souhaitez l'installer sur un réseau macvlan, (pour accéder à ce Windows en SMB par ex), l'installation de ce réseau macvlan s'avère spécifique (dû au système Windows). Aussi, il est rapporté qu'une réactivation de ce réseau macvlan sera à opérer à chaque mise à jour de windows ou redémarrage du container. Plus d'information sur le GitHub et ici : https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/#host-access
Configuration Console
Compose YAML
Copiez collez le code YAML ci-dessous pour une installation personnalisée en important le code (voir méthode sur Mazanoke par exemple)
name: windows
services:
windows:
cap_add:
- NET_ADMIN
cpu_shares:
command: []
container_name: windows
deploy:
resources:
limits:
memory:
devices:
- /dev/kvm:/dev/kvm
- /dev/net/tun:/dev/net/tun
environment:
- CPU_CORES=4
- DISK_SIZE=200G
- KEYBOARD=fr-FR
- LANGUAGE=French
- PASSWORD=
- RAM_SIZE=16G
- REGION=fr-FR
- USERNAME=
- VERSION=11e
hostname: windows
image: dockurr/windows:latest
labels:
icon: https://github.com/dockur/windows/raw/master/.github/logo.png
ports:
- target: 8006
published: "8006"
protocol: tcp
- target: 3389
published: "3389"
protocol: tcp
- target: 3389
published: "3389"
protocol: udp
restart: always
stop_grace_period: 2m0s
volumes:
- type: bind
source: /DATA/AppData/windows
target: /storage
- type: bind
source: /DATA/Download/win
target: /shared
network_mode: bridge
privileged: false
x-casaos:
author: self
category: self
hostname:
icon: https://github.com/dockur/windows/raw/master/.github/logo.png
index: /
is_uncontrolled: false
port_map: "8006"
scheme: http
store_app_id: windows
title:
custom: WINDOWS
en_us: windows
Paramètres Windows
Ces variables peuvent être modifiées après le déploiement de la pile
Web UI
Indiquez votre IP locale (sur l'exemple 192.168.1.7)
Volumes
Sur l'interface de votre Windows, un dossier "Shared" est créé automatiquement. Il vous permet de partager directement des fichiers entre votre serveur et votre Windows.
indiquez sur la fenêtre de gauche Hôte l'emplacement de ce dossier=/shared (sur l'exemple à Download/win)
Variables d'environnement
CPU_CORES=Nbre de coeurs CPU attribué
DISK_SIZE=Taille du volume attribué
KEYBOARD=langue du clavier (fr AZERTY)
LANGUAGE=langue à installer par défaut
PASSWORD=mot de passe de l'utilisateur Windows
RAM_SIZE=Taille de la RAM à attribuer
REGION=Pays
USERNAME=Nom utilisateur Windows
VERSION=voir le tableau sur GitHub suivant la version souhaitée (ici 11e=Windows 11 Entreprise)
Installer
Cliquez sur Installer et patientez le temps de l’installation
Ouvrir Windows
Cliquez sur la nouvelle tuile créée
Connexion
Vous pouvez utilisez Windows sur votre navigateur via IPlocale:8006 et effectuer les premières configurations. Cependant la définition de l'écran sera pas top ... et vous n'aurez pas de son.
Connectez vous avec un client RDP en local ou à distance pour profiter pleinement d'une interface propre et fonctionnelle.






