
Pentru a lucra pe deplin cu un proiect pe docker în WSL, este necesară instalarea WSL 2. La momentul scrierii acestei note, utilizarea sa este posibilă doar în cadrul participării la programul de evaluare timpurie Windows (WSL 2 este disponibil în versiunile 18932 și mai mari). De asemenea, merită să menționăm că este necesară o versiune Windows 10 Pro pentru instalarea și configurarea Docker Desktop.
Primii pași
După ce ne-am alăturat programului de evaluare timpurie și am instalat actualizările, trebuie să instalăm un distribuitor Linux (în acest exemplu se folosește Ubuntu 18.04) și Docker Desktop cu WSL 2 Tech Preview:
În ambele cazuri, urmăm toate instrucțiunile de instalare și configurare.
Instalarea distribuitorului Ubuntu 18.04
Înainte de a lansa Ubuntu 18.04, este necesar să activăm Windows WSL și Windows Virtual Machine Platform prin executarea a două comenzi în PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(va necesita repornirea computerului)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Apoi, trebuie să ne asigurăm că vom folosi WSL v2. Pentru aceasta, în terminalul WSL sau PowerShell, executăm consecutiv comenzile:
wsl -l -v— verificăm ce versiune este instalată în prezent. Dacă este 1, continuăm cu listawsl --set-version ubuntu 18.04 2— pentru a actualiza la versiunea 2wsl -s ubuntu 18.04— stabilim Ubuntu 18.04 ca distribuție implicită
Acum putem lansa Ubuntu 18.04, să realizăm configurația (să specificăm numele utilizatorului și parola).
Instalarea Docker Desktop
În timpul instalării, urmăm instrucțiunile. Computerul va solicita repornirea după instalare și la prima lansare pentru a activa Hyper-V (din cauza suportului căruia este necesară versiunea Windows 10 Pro).
Important! Dacă Docker Desktop raportează o blocare din partea firewall-ului, mergem în setările antivirusului și facem următoarele modificări în regulile de rețea (în acest exemplu, antivirusul folosit este Kaspersky Total Security):
- Accesăm Setări -> Protecție -> Firewall -> Configurează regulile de pachet -> Local Service (TCP) -> Modifică
- Din lista porturilor locale, eliminăm portul 445
- Salvați
După lansarea Docker Desktop, din meniul său contextual selectăm opțiunea WSL 2 Tech Preview.

În fereastra care se deschide, apăsăm butonul Start.

Acum docker și docker-compose sunt disponibile în cadrul distribuției WSL.
Important! În noul Docker Desktop, acum există un tab cu WSL în fereastra de setări. Acolo se activează suportul pentru WSL.

Important! Pe lângă bifarea activării WSL, este necesar să activați distribuția dvs. WSL în secțiunea Resources->WSL Integration.

Pornire
Au fost o surpriză numeroasele probleme apărute la încercarea de a ridica containerele proiectelor aflate în directorul utilizatorului Windows.
Erorile de tot felul legate de lansarea scripturilor bash (care, de obicei, sunt pornite la construirea containerelor pentru instalarea bibliotecilor și distribuțiilor necesare) și alte lucruri obișnuite pentru dezvoltarea pe Linux m-au făcut să mă gândesc la plasarea proiectelor direct în directorul utilizatorului Ubuntu 18.04.
.
Din soluția problemei anterioare decurge următoarea: cum să lucrăm cu fișierele proiectului prin intermediul IDE-ului instalat pe Windows. Ca "best practice", am găsit pentru mine o singură opțiune - lucrul prin VSCode (deși sunt un mare fan al PhpStorm).
După descărcarea și instalarea VSCode, trebuie să instalăm obligatoriu extinderea .
După instalarea extinderii menționate anterior, este suficient să executați comanda code . în directorul proiectului cu VSCode deschis.
În acest exemplu, pentru a accesa containerele prin browser, este necesar nginx. Instalarea acestuia se realizează prin sudo apt-get install nginx s-a dovedit a fi nu atât de simplă. La început, a fost necesar să actualizăm distribuția WSL prin executarea sudo apt update && sudo apt dist-upgrade, și abia după aceea să începem instalarea nginx.
Important! Toate domeniile locale nu sunt înregistrate în fișierul /etc/hosts al distribuției Linux (nici nu există acolo), ci în fișierul hosts (de obicei situat în C:WindowsSystem32driversetchosts) Windows 10.
Surse
O descriere mai detaliată a fiecărui pas poate fi găsită aici:
Sursa: habr.com
