Dockur : découvrez comment exécuter Windows 11, Tiny 11 et macOS dans un conteneur Docker !

Non classé

Dockur : découvrez comment exécuter Windows 11, Tiny 11 et macOS dans un conteneur Docker !

I. Présentation

Exécuter Windows ou macOS et pourquoi pas les deux au sein de conteneurs Docker, c’est possible ! Le projet open source Dockur rend cela possible avec une approche simple basée sur des fichiers Docker Compose.

Que ce soit pour créer un environnement de test rapide, isoler une machine Windows sans machine virtuelle classique, ou lancer macOS sans hackintosh, Dockur offre une solution originale qui combine Docker et KVM. À la lecture de ces premières lignes, certains vont trouver cela inutile, tandis que d’autres vont déjà avoir des idées plein la tête ! Je serai curieux d’avoir votre avis en commentaire !

II. Dockur : une VM dans un conteneur

Dockur est un projet open source qui encapsule un environnement QEMU/KVM dans un conteneur Docker, dans le but de faire tourner des systèmes d’exploitation complets comme Windows et macOS, dans des conteneurs. Les performances ne sont pas mises de côté, puisque vous pouvez personnaliser les ressources du conteneur et même bénéficier de l’accélération matérielle via KVM.

Ce projet est tout de même original et surprenant, puisque nous parlons d’une image complète de l’OS, ce qui est contraire au concept initial de Docker en comparaison des machines virtuelles. Ici, ce sera bien un conteneur Docker d’un point de vue technique, mais ce conteneur lance une instance QEMU qui démarre un vrai système d’exploitation avec son propre noyau, son propre système de fichiers, etc.

Dans le cadre de cette démonstration, nous allons nous intéresser aux images suivantes :

  • : pour les systèmes Windows (installation automatique ou manuelle).
  • : pour macOS (installation manuelle).

III. Prérequis

Vous devez disposer d’une machine prenant en charge la virtualisation matérielle (Intel VT-x ou AMD-V), comme pour n’importe quel hyperviseur. Pourquoi ? Tout simplement parce que Dockur a besoin de KVM pour fonctionner.

  • Pour une compatibilité maximale, une machine sous Linux est préférable. Pour ma part, je vais utiliser une machine sous Debian 13.
  • Docker doit être installé sur cette machine.

Si vous avez besoin d’aide pour installer Docker :

IV. Dockur : démonstration complète en vidéo

Regardez la vidéo ci-dessous pour découvrir pas à pas comment exécuter Windows et macOS dans un conteneur avec Dockur.

Au programme de cette vidéo :

  • La présentation du projet Dockur
  • L’expérience d’utilisation de Windows et macOS
  • Le déploiement d’un conteneur Windows
  • Le déploiement d’un conteneur macOS

Dans la suite de cet article, vous pourrez retrouver les ressources nécessaires, notamment les fichiers Docker Compose utilisés.

V. Déployer Windows avec Dockur

A. Fichier Docker Compose

Ci-dessous, le fichier pour déployer Windows 11 Pro par l’intermédiaire de Dockur.


Si vous préférez miser sur la légèreté, vous pouvez déployer Tiny11, la version ultra-légère de Windows 11 (non officielle). Dans ce cas, utilisez ce code pour le fichier Docker Compose (anglais obligatoire) :


Pour ma part, le fichier a été créé à l’emplacement suivant :


Le répertoire suivant doit aussi être créé pour le stockage des données (monté via l’instruction ) :


Pour lancer le déploiement du conteneur, exécutez cette commande :


Puis accédez à votre conteneur, et donc à votre Windows, depuis votre navigateur : . Par défaut, le conteneur ne disposera pas de sa propre adresse IP, mais si c’est votre souhait, sachez que c’est possible (créez un réseau ).

B. Choix de la version de Windows

Dockur peut déployer différentes versions de Windows et Windows Server, y compris Windows 11 et Windows Server 2025. Voici les versions actuellement prises en charge et les valeurs à utiliser, d’après le GitHub officiel du projet.

Valeur Version Taille
Windows 11 Pro 5.4 GB
Windows 11 LTSC 4.7 GB
Windows 11 Enterprise 4.0 GB
Windows 10 Pro 5.7 GB
Windows 10 LTSC 4.6 GB
Windows 10 Enterprise 5.2 GB
Windows 8.1 Enterprise 3.7 GB
Windows 7 Ultimate 3.1 GB
Windows Vista Ultimate 3.0 GB
Windows XP Professional 0.6 GB
Windows 2000 Professional 0.4 GB
Windows Server 2025 5.6 GB
Windows Server 2022 4.7 GB
Windows Server 2019 5.3 GB
Windows Server 2016 6.5 GB
Windows Server 2012 4.3 GB
Windows Server 2008 3.0 GB
Windows Server 2003 0.6 GB
Tiny 11 Core 2.1 GB
Tiny 11 3.8 GB
Tiny 10 3.6 GB

C. Script post-installation

Dockur permet de personnaliser l’installation de Windows en exécutant automatiquement un script à la fin de l’installation. Pour cela, il suffit de créer un fichier nommé , qui contiendra les instructions que vous souhaitez lancer (installation de logiciels, configuration système, copie de fichiers, etc.).

Ce fichier doit être placé dans un dossier local (par exemple à créer dans le dossier ), avec tous les fichiers nécessaires à votre script (le package MSI d’un logiciel, par exemple).

Ensuite, dans votre fichier , vous devez monter ce dossier dans le conteneur avec la directive suivante :


Lors de l’installation, Dockur copiera automatiquement le contenu de ce dossier dans le répertoire de la machine virtuelle Windows. Le fichier y sera exécuté automatiquement, vous permettant ainsi d’automatiser des tâches de post-déploiement.

D. Connexion RDP

Vous pouvez aussi vous connecter en Bureau à distance (RDP) à votre machine Windows.

Utilisez simplement le client RDP ( sous Windows) de votre machine et connectez-vous sur l’adresse IP de votre hôte Docker. Le port par défaut est utilisé, à savoir le port . C’est pour cette raison que nous déclarons le port 3389 au niveau du conteneur.

VI. Déployer macOS avec Dockur

A. Fichier Docker Compose

Ci-dessous, le fichier pour déployer macOS Sequoia par l’intermédiaire de Dockur.


Note : nous utilisons le port au lieu du port , car ce dernier est déjà occupé par le conteneur Windows. Sans cela, vous ne pouvez pas faire tourner ces deux conteneurs en même temps.

Ce fichier a été créé à l’emplacement suivant, à savoir dans un répertoire différent de celui de Windows :


Le répertoire suivant doit aussi être créé pour le stockage des données (monté via l’instruction ) :


Pour lancer le déploiement du conteneur, exécutez cette commande :


Puis accédez à votre conteneur et lancez l’installation manuellement (obligatoire avec macOS). Accédez à cette adresse depuis votre navigateur :

B. Choix de la version de macOS

Comme pour Windows, Dockur prend en charge plusieurs versions de macOS. Vous devez ajuster la variable pour faire votre choix.

environment:
VERSION: "15"

Ci-dessous les versions actuellement supportées par Dockur :

Valeur Version Nom
macOS 15 Sequoia
macOS 14 Sonoma
macOS 13 Ventura
macOS 12 Monterey
macOS 11 Big Sur

VII. Conclusion

Dockur propose une approche originale pour faire tourner des systèmes d’exploitation complets dans des conteneurs Docker, tout en profitant des performances de KVM. Que ce soit pour Windows ou macOS, l’expérience est fluide et adaptée à des besoins de test, de formation ou même à d’autres scénarios : une intégration avec KASM étant envisageable.

Qu’en pensez-vous ? Avez-vous déjà identifié des scénarios d’utilisation ? Nous attendons vos retours en commentaire !

SOURCE