Développement avec Docker sur Windows Subsystem for Linux (WSL)

Développement avec Docker sur Windows Subsystem for Linux (WSL)

Pour travailler pleinement sur un projet Docker dans WSL, il est nécessaire d'installer WSL 2. Au moment de la rédaction de cette note, son utilisation est possible uniquement dans le cadre de la participation au programme d'évaluation Windows (WSL 2 est disponible dans les builds 18932 et supérieures). Il convient également de mentionner que la version Windows 10 Pro est requise pour l'installation et la configuration de Docker Desktop.

Premiers pas

AprÚs avoir rejoint le programme d'évaluation et installé les mises à jour, il est nécessaire d'installer une distribution Linux (dans cet exemple, nous utilisons Ubuntu 18.04) et Docker Desktop avec la Tech Preview WSL 2 :

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 depuis le Windows Store

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

Installation de la distribution Ubuntu 18.04

Avant de lancer Ubuntu 18.04, il faut 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, il faut s'assurer que nous allons utiliser WSL v2. Pour cela, dans le terminal WSL ou PowerShell, exécutez successivement les commandes :

  • wsl -l -v — vĂ©rifiez quelle version est actuellement installĂ©e. Si c'est 1, continuez avec la liste
  • wsl --set-version ubuntu 18.04 2 — pour mettre Ă  jour vers la version 2
  • wsl -s ubuntu 18.04 — dĂ©finissez Ubuntu 18.04 comme distribution par dĂ©faut

Vous pouvez maintenant lancer Ubuntu 18.04, effectuer la configuration (indiquer le nom d'utilisateur et le mot de passe).

Installation de Docker Desktop

Dans le processus d'installation, suivez les instructions. L'ordinateur demandera un redĂ©marrage aprĂšs l'installation et lors du premier dĂ©marrage pour activer Hyper-V (d'oĂč la nĂ©cessitĂ© d'une version Windows 10 Pro).

Attention ! Si Docker Desktop signale un blocage par le pare-feu, allez dans les paramÚtres de l'antivirus et apportez les modifications suivantes aux rÚgles du pare-feu (dans cet exemple, l'antivirus utilisé est Kaspersky Total Security) :

  • Allez dans ParamĂštres -> Protection -> Pare-feu -> Configurer les rĂšgles de paquet -> Local Service (TCP) -> Modifier
  • Dans la liste des ports locaux, supprimez le port 445
  • Enregistrer

AprÚs avoir démarré Docker Desktop, dans son menu contextuel, sélectionnez l'option WSL 2 Tech Preview.

Développement avec Docker sur Windows Subsystem for Linux (WSL)

Dans la fenĂȘtre qui s'ouvre, cliquez sur le bouton DĂ©marrer.

Développement avec Docker sur Windows Subsystem for Linux (WSL)

Docker et docker-compose sont maintenant disponibles au sein de la distribution WSL.

Attention ! Dans la version mise Ă  jour de Docker Desktop, un onglet avec WSL dans la fenĂȘtre des paramĂštres est maintenant prĂ©sent. LĂ , activez le support de WSL.

Développement avec Docker sur Windows Subsystem for Linux (WSL)

Attention ! En plus de cocher l'activation de WSL, il est également nécessaire d'activer votre distribution WSL dans l'onglet Resources->WSL Integration.

Développement avec Docker sur Windows Subsystem for Linux (WSL)

Lancement

La surprise a été les nombreux problÚmes qui se sont posés lors de la tentative de démarrage des conteneurs des projets situés dans le répertoire de l'utilisateur Windows.

Les erreurs de divers types, liées à l'exécution de scripts bash (qui démarrent généralement lors de la création de conteneurs pour l'installation des bibliothÚques et distributions nécessaires) et autres éléments courants de développement sous Linux, m'ont fait réfléchir à la possibilité de placer les projets directement dans le répertoire de l'utilisateur Ubuntu 18.04.

.

De la solution Ă  ce problĂšme dĂ©coule la suivante : comment travailler avec les fichiers du projet via un IDE installĂ© sous Windows. Comme « meilleure pratique », j'ai trouvĂ© pour moi-mĂȘme une seule option — travailler avec VSCode (bien que je sois un fan de PhpStorm).

AprÚs le téléchargement et l'installation de VSCode, il est impératif d'installer l'extension Remote Development extension pack.

AprÚs avoir installé l'extension mentionnée ci-dessus, il suffit d'exécuter la commande code . dans le répertoire du projet lorsque VSCode est en cours d'exécution.

Dans cet exemple, pour accéder aux conteneurs via le navigateur, nginx est nécessaire. L'installer via sudo apt-get install nginx s'est avéré plus compliqué que prévu. Pour commencer, il a fallu mettre à jour la distribution WSL en exécutant sudo apt update && sudo apt dist-upgrade, et ce n'est qu'aprÚs cela que j'ai pu lancer l'installation de nginx.

Attention ! Tous les domaines locaux ne sont pas enregistrĂ©s dans le fichier /etc/hosts de la distribution Linux (il n'existe mĂȘme pas), mais dans le fichier hosts (gĂ©nĂ©ralement situĂ© C:\Windows\System32\drivers\etc\hosts) de Windows 10.

Sources

Une description plus dĂ©taillĂ©e de chaque Ă©tape peut ĂȘtre trouvĂ©e ici :

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster