
Za popolno delovanje projekta na dockerju v WSL je potrebna namestitev WSL 2. Ob času pisanja opombe je njena uporaba mogoča le v okviru udeležbe v programu predhodne ocene Windows (WSL 2 je na voljo v različicah 18932 in višjih). Prav tako je treba posebej omeniti, da je potrebna različica Windows 10 Pro za namestitev in nastavitev Docker Desktop.
Prvi koraci
Po vstopu v program predhodne ocene in namestitvi posodobitev je potrebno namestiti distribucijo Linux (v tem primeru se uporablja Ubuntu 18.04) ter Docker Desktop s tehnološkim predogledom WSL 2:
V obeh točkah sledimo vsem navodilom za namestitev in nastavitev.
Namestitev distribucije Ubuntu 18.04
Preden zaženemo Ubuntu 18.04, moramo vklopiti Windows WSL in platformo Windows Virtual Machine z izvedbo dveh ukazov v PowerShell-u:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(zahteva ponovni zagon računalnika)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Nato moramo zagotoviti, da bomo uporabljali WSL v2. V terminalu WSL ali PowerShell zaporedoma izvedemo ukaze:
wsl -l -v— preverimo, katera različica je trenutno nameščena. Če je 1, nadaljujemo po seznamuwsl --set-version ubuntu 18.04 2— za nadgradnjo na različico 2wsl -s ubuntu 18.04— nastavimo Ubuntu 18.04 kot privzeto distribucijo
Zdaj lahko zaženemo Ubuntu 18.04, opravimo nastavitev (določimo uporabniško ime in geslo).
Namestitev Docker Desktop
Med namestitvijo sledite navodilom. Računalnik bo zahteval ponovni zagon po namestitvi in ob prvem zagonu za omogočanje Hyper-V (zaradi podpore, zaradi katere je potrebna različica Windows 10 Pro).
Důležité! Če Docker Desktop poroča o blokadi s strani požarnega zidu, odidite v nastavitve antivirusne programske opreme in opravite naslednje spremembe v pravilih omrežnega požarnega zidu (v tem primeru se uporablja Kaspersky Total Security):
- Pojdite v Nastavitve -> Zaščita -> Omrežni zid -> Nastaviti paketna pravila -> Local Service (TCP) -> Spremeni
- Iz seznama lokalnih vrat odstranite vrata 445
- Shrani
Po zagonu Docker Desktop v njegovem kontekstnem meniju izberite možnost WSL 2 Tech Preview.

V odprtem oknu kliknite gumb Start.

Zdaj sta docker in docker-compose na voljo znotraj distribucije WSL.
Důležité! V posodobljenem Docker Desktopu je zdaj zavihek z WSL znotraj okna nastavitev. Tam se vklopi podpora za WSL.

Důležité! Poleg potrditvenega okvira za WSL je treba na zavihku Resources->WSL Integration omogočiti vašo WSL distribucijo.

Pokretanje
Presenetile so mnoge težave, s katerimi smo se srečali pri poskusu zagonov kontejnerjev projektov, ki so shranjeni v uporabniški imenik Windows.
Različne napake, povezane z izvajanjem bash skriptov (ki se ponavadi zaženejo ob gradnji kontejnerjev za namestitev potrebnih knjižnic in distribucij) in ostale, običajne za razvoj na Linuxu, so me prisilile razmišljati o gostovanju projektov neposredno v uporabniškem imeniku Ubuntu 18.04.
.
Iz rešitve prejšnje težave izhaja naslednje: kako delati s projektnimi datotekami prek IDE, nameščenega v Windows. Kot »best practice« sem našel le eno možnost — delo prek VSCode (čeprav sem oboževalec PhpStorm).
Po prenosu in namestitvi VSCode nujno namestite razširitev .
Po namestitvi zgoraj omenjene razširitve je preprosto treba izvesti ukaz code . v direktoriju projekta pri zagnanem VSCode.
V tem primeru je za dostop do kontejnerjev prek brskalnika potrebna nginx. Namestiti ga je treba z sudo apt-get install nginx se je izkazalo za precej zahtevno. Na začetku je bilo potrebno posodobiti distribucijo WSL z izvajanjem sudo apt update && sudo apt dist-upgrade, in šele nato zagnati namestitev nginx.
Důležité! Vsi lokalni domenski imeni niso zapisani v datoteki /etc/hosts distribucije Linux (te tam sploh ni), ampak v datoteki hosts (ponavadi v C:WindowsSystem32driversetchosts) Windows 10.
Izvori
Podroben opis vsakega koraka lahko najdete tukaj:
Izvor: habr.com
