
Pour utiliser pleinement un projet Docker dans WSL, vous devez installer WSL 2. À l'heure où nous écrivons ces lignes, son utilisation n'est possible que dans le cadre du programme Insider. Windows (WSL 2 est disponible dans les versions 18932 et supérieures). Il convient également de mentionner que la version requise est Windows 10 Pro pour l'installation et la configuration de Docker Desktop.
Premiers pas
Après avoir rejoint le programme Insider et installé les mises à jour, vous devez installer la distribution. Linux (Cet exemple utilise Ubuntu 18.04) et Docker Desktop avec WSL 2 Tech Preview :
Dans les deux paragraphes, suivez toutes les instructions d'installation et de configuration.
Installation de la distribution Ubuntu 18.04
Avant de commencer Ubuntu La version 18.04 doit être activée. Windows WSL et Windows Plateforme de machine virtuelle en exécutant deux commandes dans PowerShell :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(nécessite un redémarrage de l'ordinateur)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Après cela, nous devons nous assurer que nous utiliserons WSL v2. Pour ce faire, exécutez les commandes suivantes dans le terminal WSL ou PowerShell :
wsl -l -v- voir quelle version est actuellement installée. Si 1, alors descendez dans la listewsl --set-version ubuntu 18.04 2- pour passer à la version 2wsl -s ubuntu 18.04— nous installons Ubuntu 18.04 comme distribution par défaut
Maintenant tu peux courir Ubuntu 18.04, terminez la configuration (indiquez le nom d'utilisateur et le mot de passe).
Installation de Docker Desktop
Suivez les instructions d'installation. L'ordinateur devra être redémarré après l'installation et au premier démarrage pour activer Hyper-V (la prise en charge de cette fonctionnalité requiert la version [insérer la version]). Windows 10 Pro).
Important! Si Docker Desktop signale un blocage du pare-feu, accédez aux paramètres antivirus et apportez les modifications suivantes aux règles du pare-feu (dans cet exemple, Kaspersky Total Security est utilisé comme antivirus) :
- Allez dans Paramètres -> Sécurité -> Pare-feu -> Configurer les règles de paquet -> Service local (TCP) -> Modifier
- Supprimer le port 445 de la liste des ports locaux
- Enregistrer
Après avoir lancé Docker Desktop, sélectionnez WSL 2 Tech Preview dans son menu contextuel.

Dans la fenêtre qui s'ouvre, cliquez sur le bouton Démarrer.

Docker et docker-compose sont désormais disponibles dans la distribution WSL.
Important! Le Docker Desktop mis à jour a maintenant un onglet avec WSL dans la fenêtre des paramètres. La prise en charge WSL y est activée.

Important! En plus de la case à cocher d'activation WSL, vous devez également activer votre distribution WSL dans l'onglet Ressources-> Intégration WSL.

Запуск
Ce qui était inattendu, ce sont les nombreux problèmes qui sont apparus lors de la tentative de lancement des conteneurs de projet situés dans le répertoire utilisateur. Windows.
Des erreurs de divers types liées à l'exécution de scripts bash (généralement lancés lors de la création de conteneurs pour installer les bibliothèques et distributions nécessaires) et autres, courantes lors du développement sur LinuxCes choses m'ont fait réfléchir à la possibilité de placer les projets directement dans le répertoire utilisateur. Ubuntu 18.04.
.
La solution au problème précédent en amène un autre : comment travailler avec les fichiers de projet via l’IDE installé sur WindowsLa seule « bonne pratique » que j'ai trouvée pour moi-même est de travailler avec VSCode (bien que je sois un fan de PhpStorm).
Après avoir téléchargé et installé VSCode, assurez-vous de l'installer dans l'extension .
Après avoir installé l'extension ci-dessus, exécutez simplement la commande code . dans le répertoire du projet lorsque VSCode est en cours d'exécution.
Dans cet exemple, nginx est requis pour accéder aux conteneurs via un navigateur. Installez-le via sudo apt-get install nginx il s'est avéré pas si facile. La première étape consistait à mettre à jour la distribution WSL en exécutant sudo apt update && sudo apt dist-upgrade, et seulement après cela, exécutez l'installation de nginx.
Important! Tous les domaines locaux ne sont pas enregistrés dans le fichier /etc/hosts de la distribution. Linux (il n'y est même pas), mais dans le fichier hosts (généralement situé C:WindowsSystem32driverestosts) Windows 10.
sources
Une description plus détaillée de chaque étape peut être trouvée ici :
Source: habr.com
