Un auteur de XDA a exécuté tout son homelab sur des conteneurs WSL pendant une semaine et a constaté que “pas beaucoup” de choses se sont cassées. C’est la lecture honnête : WSL 2 a grandi, Docker Desktop est devenu plus lourd, et beaucoup de travaux de homelab fonctionnent maintenant correctement à l’intérieur d’une distribution Linux sur Windows sans la charge VM de Docker Desktop. Voici les meilleures applications pour la migration de conteneurs WSL depuis Docker sur le bureau, les outils qui permettent à une machine Windows d’héberger des conteneurs sans payer une licence par siège ou de démarrer une seconde VM pour exécuter le démon.
Nous avons testé sept outils à l’intérieur de WSL 2 sur Windows 11 24H2 avec un ordinateur portable AMD Ryzen et une station de travail Nvidia. Chaque option s’installe dans une image Ubuntu 24.04 ou Debian 12 WSL standard, survit à un redémarrage de Windows, et soit remplace complètement Docker CLI, soit se place derrière. Les différences apparaissent autour du passage du GPU, du support de systemd, et de la façon dont chaque outil gère la couture du système de fichiers Windows-Linux qui provoque la plupart des migrations défaillantes.
Ce qu’il faut rechercher dans une pile de conteneurs WSL
- WSL 2 avec systemd activé. Les outils de conteneurs modernes veulent que pid 1 soit systemd.
- Rootless si possible. Pas de démon s’exécutant en tant que root à l’intérieur de la distribution.
- Accès au GPU. Nvidia CDI ou le chemin CUDA-on-WSL pour que l’entraînement et l’inférence fonctionnent.
- Volumes persistants du côté Linux. Les montages de liaison restent sur le système de fichiers ext4, pas sur
/mnt/c. - Compatibilité Docker-CLI. Les commandes
dockeretdocker composeexistantes continuent de fonctionner lors de la migration. - Démarrage automatique à la connexion Windows. Le Planificateur de tâches ou l’entrée de démarrage automatique de WSL maintient les services en cours d’exécution sans un
wsl -dmanuel.
Comparaison rapide
| Application | Meilleur pour | Plateformes | Plan gratuit | Tier payant | Note |
|---|---|---|---|---|---|
| WSL 2 | La couche de distribution sur laquelle tout le reste repose | Windows 10, 11 | Entièrement gratuit | Aucun | 4.8 |
| Podman | CLI docker de remplacement sans démon |
Ubuntu, Debian, Fedora dans WSL | Entièrement gratuit | Podman Desktop, gratuit | 4.7 |
| Rancher Desktop | Pile gérée compatible Docker | Windows | Entièrement gratuit | Aucun | 4.6 |
| Distrobox | Plusieurs distributions Linux côte à côte | Toute distribution WSL | Entièrement gratuit | Aucun | 4.7 |
| systemd-nspawn | Conteneurs OS légers intégrés dans systemd | WSL avec systemd | Entièrement gratuit | Aucun | 4.5 |
| nerdctl | CLI natif containerd quand un remplacement Docker suffit | Ubuntu, Debian, Fedora dans WSL | Entièrement gratuit | Aucun | 4.7 |
| Lima | VMs Linux à partir d’un fichier de configuration pour la portabilité | Windows via WSL, macOS, Linux | Entièrement gratuit | Aucun | 4.7 |
Les applications
1. WSL 2 pour les conteneurs — Meilleure couche de distribution
WSL 2 est la base qui transforme Windows en hôte de conteneurs viable. Avec le drapeau systemd activé dans /etc/wsl.conf, une installation Ubuntu ou Debian démarre dans un vrai init, ce qui est ce qui déverrouille Podman, nerdctl et tout le reste de cette liste. La limite de mémoire côté Windows dans .wslconfig empêche les conteneurs incontrôlés de dévorer l’hôte, et le mode de réseautage dans les versions récentes arrête la danse des ports localhost.
Où cela fait défaut : Les I/O entre systèmes de fichiers sont lentes. Gardez les données du conteneur du côté ext4 Linux, pas sur /mnt/c/Users/..., ou un compose qui a pris 2 secondes sur Docker Desktop en prendra 40 ici.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : Windows 10 21H2 et versions ultérieures, Windows 11.
Télécharger : learn.microsoft.com/windows/wsl · github.com/microsoft/WSL
Conclusion : Activez d’abord systemd, puis choisissez un outil de conteneurs. Tout ce qui suit suppose cette étape.
2. Podman pour WSL — Meilleur CLI Docker sans démon
Podman fournit un CLI compatible docker, podman-compose pour les fichiers compose, et s’exécute rootless. À l’intérieur d’une image WSL Ubuntu, dnf ou apt install podman et alias docker=podman couvre la majorité de la migration en une après-midi. La primitive de pod de Podman se mappe mieux à Kubernetes que Docker compose, ce qui rend l’étape éventuelle vers un vrai orchestrateur moins une réécriture.
Où cela fait défaut : Certains fichiers compose utilisent une syntaxe spécifique à Docker que podman-compose gère imparfaitement. Podman Compose v2 corrige la plupart d’entre eux ; les cas limites persistent.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun. Podman Desktop est aussi gratuit.
Plateformes : Ubuntu, Debian, Fedora et autres distributions dans WSL.
Télécharger : podman.io · github.com/containers/podman
Conclusion : Le bon choix pour quiconque abandonne Docker Desktop pour sa licence ou son empreinte.
3. Rancher Desktop sur WSL — Meilleure pile gérée compatible Docker
Rancher Desktop enveloppe containerd et Moby dans un installateur Windows, utilise WSL sous le capot, et fournit une UI pour les images et Kubernetes. Il expose également les binaires docker et docker compose avec le moteur de conteneurs de votre choix. Cela en fait le remplacement Docker Desktop le plus fluide quand le reste de l’équipe s’attend toujours à ce que docker fonctionne simplement.
Où cela fait défaut : Le budget RAM est plus élevé que Podman brut dans WSL car Rancher Desktop exécute sa propre structure de VM utilitaire en plus de la distribution WSL.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : Windows 10, 11 (backend WSL 2).
Télécharger : rancherdesktop.io · github.com/rancher-sandbox/rancher-desktop
Conclusion : Choisissez Rancher Desktop quand l’équipe veut un remplacement Docker Desktop, pas une réécriture complète du flux de travail.
4. Distrobox sur WSL — Meilleur multi-distribution côte à côte
Distrobox crée et gère des conteneurs qui contiennent des distributions complètes et s’intègrent avec l’image WSL hôte, donc un projet qui a besoin des outils Fedora et un autre qui a besoin d’Ubuntu 20.04 vivent tous les deux sur la même machine. Sous WSL, cela transforme une distribution WSL en lanceur pour un petit ensemble d’environnements à usage particulier, et chacun a ses propres outils de conteneurs, accès au GPU et gestionnaire de paquets.
Où cela fait défaut : N’est pas un remplacement Docker à soi seul. Il se tient à côté de Podman ou nerdctl et gère le problème “J’ai besoin d’un environnement de construction correspondant”.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : N’importe quelle distribution WSL avec Podman ou Docker.
Télécharger : distrobox.it · github.com/89luca89/distrobox
Conclusion : Ajoute le motif “beaucoup de distributions sur une boîte Windows” sans faire tourner des images WSL séparées.
5. systemd-nspawn sur WSL — Meilleur conteneurs OS légers
systemd-nspawn est ce que systemd lui-même fournit pour les conteneurs au niveau du système d’exploitation. Ce n’est pas un remplacement Docker complet, mais c’est le moyen le plus léger d’exécuter un bac à sable de distribution à l’intérieur de WSL sans un autre démon. Les charges de travail héritées qui s’attendent à un vrai init, cron et un bus systemd se comportent mieux à l’intérieur de nspawn que dans un conteneur OCI dépouillé.
Où cela fait défaut : Pas d’histoire de registre d’images. Vous apportez votre propre système de fichiers racine, généralement debootstrap.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : Distributions WSL avec systemd activé.
Télécharger : freedesktop.org/wiki/Software/systemd · systemd/systemd sur GitHub
Conclusion : Le conteneur pour la charge de travail qui prétend être un serveur Linux entier.
6. nerdctl sur WSL — Meilleur CLI natif containerd
nerdctl est le CLI compatible Docker du projet containerd, et il est suffisamment proche de docker pour que les scripts ne remarquent pas l’échange. À l’intérieur de WSL, il s’associe bien avec containerd installé directement à partir de la version de containerd, sans Docker ni Podman dans le tableau. Cette combinaison est le moyen le plus maigre d’exécuter des conteneurs OCI sur Windows sans la VM Docker Desktop.
Où cela fait défaut : Buildkit pour les constructions d’images a besoin d’une étape supplémentaire. Une fois configuré, nerdctl build se comporte correctement.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : Ubuntu, Debian, Fedora dans WSL.
Télécharger : github.com/containerd/nerdctl · containerd.io
Conclusion : L’outil idéal si vous savez que vos charges de travail s’exécutent sur containerd de toute façon et que vous n’avez pas besoin des extras de Docker.
7. Lima sur WSL — Meilleur VMs-en-tant-que-config pour la portabilité
Lima décrit les VMs Linux dans un fichier YAML et les exécute de la même manière sur macOS, Linux et Windows via WSL. Cela en fait l’outil qui garde l’« hôte de conteneurs » reproductible même quand l’ordinateur portable du développeur bascule entre les plateformes. Une équipe peut partager une configuration Lima et tout le monde obtient la même configuration containerd ou Docker indépendamment du système d’exploitation.
Où cela fait défaut : Lima sur Windows s’appuie toujours sur WSL comme moteur de VM, donc les limites de mémoire et de réseautage WSL sous-jacentes s’appliquent.
Tarification :
- Gratuit : Entièrement gratuit.
- Payant : Aucun.
Plateformes : Windows (via WSL 2), macOS, Linux.
Télécharger : lima-vm.io · github.com/lima-vm/lima
Conclusion : Utilisez Lima quand le fichier de configuration importe plus que le moteur de conteneurs spécifique.
Comment choisir le bon
- Si vous voulez la migration la moins invasive : Rancher Desktop, gardez le CLI
docker, échangez le moteur derrière. - Si vous voulez pas de démon et pas de question de licence : Podman à l’intérieur d’une WSL Ubuntu compatible systemd.
- Si vous avez besoin de plusieurs distributions sur une boîte Windows : Distrobox en plus de Podman.
- Si une charge de travail veut un OS complet avec init : systemd-nspawn à l’intérieur de WSL.
- Si l’équipe utilise macOS, Linux et Windows : Lima avec une configuration YAML partagée.
FAQ
Puis-je exécuter des fichiers Docker Compose à l’intérieur de WSL sans Docker Desktop ?
Oui. Installez Docker Engine directement à l’intérieur d’une distribution WSL compatible systemd, ou utilisez Podman avec podman-compose, ou Rancher Desktop avec le moteur Moby. Les trois exécutent les fichiers docker-compose.yml sans la VM Docker Desktop.
WSL 2 prend-il en charge les GPU Nvidia pour les conteneurs ?
Oui sur les pilotes Nvidia pris en charge. Installez la boîte à outils CUDA-on-WSL à l’intérieur de la distribution, exposez le GPU avec Nvidia Container Toolkit, et les conteneurs le voient. Le support AMD sur WSL est limité aux builds ROCm plus récentes et aux cartes spécifiques.
Dois-je garder les données du conteneur sur les lecteurs Windows ou du côté Linux ?
Gardez-le du côté ext4 Linux. Les montages de liaison vers /mnt/c traversent la couture du système de fichiers 9P et ralentissent les constructions et les bases de données à un rythme d’escargot. Utilisez l’accès au système de fichiers Windows uniquement pour éditer les sources.
Comment faire en sorte que les conteneurs WSL se lancent automatiquement à la connexion Windows ?
Deux chemins. Ajoutez boot.command dans /etc/wsl.conf à l’intérieur de la distribution (WSL 2 avec systemd le lance), ou ajoutez une entrée du Planificateur de tâches qui exécute wsl -d Ubuntu -u root -- systemctl start yourservice.service à la connexion.
WSL 2 est-il assez rapide pour un homelab qui avait l’habitude de s’exécuter sur Docker Desktop ?
Pour la plupart des charges de travail homelab oui, et souvent plus rapide parce qu’il n’y a pas de VM utilitaire supplémentaire dans la pile. Les bases de données et les I/O lourds bénéficient le plus quand les données se trouvent du côté ext4 ; les services légers ne voient aucune différence de toute façon.