
Për të punuar plotësisht me projektin në docker në WSL, nevojitet instalimi i WSL 2. Në momentin e shkrimit të këtij artikulli, përdorimi i saj është i mundur vetëm në kuadër të pjesëmarrjes në programin e vlerësimit paraprak të Windows (WSL 2 është e disponueshme në ndërtimet 18932 dhe më lart). Gjithashtu, duhet përmendur ndonjëherë se nevojitet versione Windows 10 Pro për instalimin dhe konfigurimin e Docker Desktop.
Hapat e parë
Pas regjistrimit në programin e vlerësimit paraprak dhe instalimit të përditësimeve, nevojitet instalimi i distribucionit Linux (në këtë shembull po përdoret Ubuntu 18.04) dhe Docker Desktop me WSL 2 Tech Preview:
Në të dy pikat ndjekim të gjitha udhëzimet për instalim dhe konfigurim.
Instalimi i distribucionit Ubuntu 18.04
Para se të nisni Ubuntu 18.04, është e nevojshme të aktivizoni Windows WSL dhe Windows Virtual Machine Platform përmes ekzekutimit të dy komandave në PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(do të kërkojë rindezjen e kompjuterit)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Më pas, duhet të sigurohemi që do të përdorim WSL v2. Për këtë, në terminalin WSL ose PowerShell ekzekutojmë komandat radhazi:
wsl -l -vâ shikojmĂ« se cila version Ă«shtĂ« instaluar aktualisht. NĂ«se Ă«shtĂ« 1, atĂ«herĂ« vazhdojmĂ« me listĂ«nwsl --set-version ubuntu 18.04 2â pĂ«r tĂ« pĂ«rditĂ«suar nĂ« versionin 2wsl -s ubuntu 18.04â vendosim Ubuntu 18.04 si distribucionin e parazgjedhur
Tani mund të nisim Ubuntu 18.04, të kryejmë konfigurimin (të përcaktojmë emrin e përdoruesit dhe fjalëkalimin).
Instalimi i Docker Desktop
Gjatë procesit të instalimit, ndjekim udhëzimet. Kompjuteri do të kërkojë rinisje pas instalimit dhe gjatë herës së parë që e hapim për aktivizimin e Hyper-V (për shkak të mbështetjes së tij, është nevojitur versioni Windows 10 Pro).
à rëndësishme! Nëse Docker Desktop informon për bllokim nga firewall-i, shkojmë në cilësimet e antivirusit dhe bëjmë këto ndryshime në rregullat e murit të zjarrit (në këtë rast, antivirus është Kaspersky Total Security):
- Shkoni në Cilësimet -> Mbrojtja -> Muri i zjarrit -> Konfiguroni rregullat për paketat -> Shërbimi Lokal (TCP) -> Ndrysho
- Nga lista e porteve lokale, fshijmë portin 445
- Ruaj
Pas hapjes së Docker Desktop, në menunë e kontekstit të tij, zgjidhni opsionin WSL 2 Tech Preview.

Në dritaren që hapet, shtypni butonin Start.

Tani docker dhe docker-compose janë të disponueshëm brenda distribucionit WSL.
à rëndësishme! Në Docker Desktop të përditësuar tani ka një tab me WSL brenda dritares së cilësimeve. Atje aktivizohet mbështetje për WSL.

à rëndësishme! Përveç aktivizimit të WSL, duhet të aktivizoni gjithashtu shpërndarjen tuaj WSL në skedën Resources->WSL Integration.

Nisja
Ishte befasuese që shumë probleme u shfaqën kur përpiqesha të aktivizoja kontejnerët e projekteve të vendosura në drejtorinë e përdoruesit Windows.
Gabimet e ndryshme që lidhen me ekzekutimin e skritpëve bash (të cilët zakonisht startojnë gjatë ndërtimit të kontejnerëve për të instaluar bibliotekat dhe shpërndarjet e nevojshme) dhe gjërat e tjera të zakonshme për zhvillimin në Linux, më bënë të mendoj për vendosjen e projekteve pikërisht në drejtorinë e përdoruesit Ubuntu 18.04.
.
Nga zgjidhja e problemit të mëparshëm, del pyetja tjetër: si të punoni me skedarët e projektit përmes IDE-së, e instaluar në Windows. Si 'praktikë më të mirë', unë e gjetëm vetëm një mundësi - të punojmë përmes VSCode (ndonëse jam adhurues i PhpStorm).
Pas shkarkimit dhe instalimit të VSCode, sigurohuni të instaloni .
Pas instalimit të zgjerimit të përmendur më lart, mjafton të ekzekutoni komandën code . në drejtorinë e projektit ndërsa VSCode është e hapur.
Në këtë shembull, për të aksesuar kontejnerët përmes shfletuesit, nevojitet nginx. Ta instalosh atë përmes sudo apt-get install nginx nuk u tregua aq e lehtë. Së pari, ishte e nevojshme të përditësohej shpërndarja WSL duke ekzekutuar sudo apt update && sudo apt dist-upgrade, dhe vetëm pas kësaj, të fillohet instalimi i nginx.
à rëndësishme! Të gjitha emrat lokalë të domain-eve nuk regjistrohen në skedarin /etc/hosts të shpërndarjes Linux (madje nuk ekziston atje), por në skedarin hosts (zakonisht e vendosur në C:WindowsSystem32driversetchosts) të Windows 10.
Burimet
Për një përshkrim më të detajuar të çdo hapi, mund ta gjeni këtu:
Burimi: habr.com
