Développement avec Docker sur le sous-système Windows pour Linux (WSL)

Développement avec Docker sur le sous-système Windows pour Linux (WSL)

Pour travailler pleinement avec un projet Docker dans WSL, vous devez installer WSL 2. Au moment d'écrire ces lignes, il ne peut être utilisé que dans le cadre du programme Windows Insider (WSL 2 est disponible dans les versions 18932 et supérieures). Il convient également de mentionner séparément que vous avez besoin d'une version de Windows 10 Pro pour installer et configurer Docker Desktop.

Premiers pas

Après avoir rejoint le programme Insider et installé les mises à jour, vous devez installer une distribution Linux (Ubuntu 18.04 est utilisé dans cet exemple) et Docker Desktop avec WSL 2 Tech Preview :

  1. Aperçu technique de Docker Desktop WSL 2
  2. Ubuntu 18.04 du Windows Store

Dans les deux paragraphes, suivez toutes les instructions d'installation et de configuration.

Installation de la distribution Ubuntu 18.04

Avant d'exécuter Ubuntu 18.04, vous devez activer Windows WSL et Windows Virtual Machine Platform en exécutant deux commandes dans PowerShell :

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (nécessite un redémarrage de l'ordinateur)
  2. 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 liste
  • wsl --set-version ubuntu 18.04 2 - pour passer à la version 2
  • wsl -s ubuntu 18.04 - installer Ubuntu 18.04 comme distribution par défaut

Vous pouvez maintenant démarrer Ubuntu 18.04, configurer (spécifiez le nom d'utilisateur et le mot de passe).

Installation de Docker Desktop

Suivez les instructions pendant le processus d'installation. L'ordinateur nécessitera un redémarrage après l'installation et au premier démarrage pour activer Hyper-V (c'est pourquoi Windows 10 Pro est requis).

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.

Développement avec Docker sur le sous-système Windows pour Linux (WSL)

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

Développement avec Docker sur le sous-système Windows pour Linux (WSL)

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.

Développement avec Docker sur le sous-système Windows pour Linux (WSL)

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

Développement avec Docker sur le sous-système Windows pour Linux (WSL)

Запуск

Les nombreux problèmes rencontrés lors de la création de conteneurs de projets situés dans le répertoire utilisateur de Windows ont été une surprise.

Divers types d'erreurs liées à l'exécution de scripts bash (qui commencent généralement lorsque les conteneurs sont créés pour installer les bibliothèques et les distributions nécessaires) et d'autres choses courantes pour le développement sous Linux, m'ont fait penser à placer des projets directement dans le répertoire utilisateur Ubuntu 18.04.

.

À partir de la solution du problème précédent, voici ce qui suit : comment travailler avec des fichiers de projet via un IDE installé sur Windows. En tant que "meilleure pratique", je n'ai trouvé qu'une seule option pour moi - travailler via VSCode (bien que je sois fan de PhpStorm).

Après avoir téléchargé et installé VSCode, assurez-vous de l'installer dans l'extension Pack d'extension de développement à distance.

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 écrits dans le fichier /etc/hosts de la distribution Linux (il n'y est même pas), mais dans le fichier hosts de Windows 32 (généralement situé dans C:WindowsSystem10driversetchosts).

sources

Une description plus détaillée de chaque étape peut être trouvée ici :

Source: habr.com

Ajouter un commentaire