
Za potpuno funkcioniranje projekta na Dockeru u WSL-u potrebna je instalacija WSL 2. U trenutku pisanja ovog članka, njezina upotreba moguća je samo u okviru sudjelovanja u programu za procjenu Windowsa (WSL 2 dostupna je u verzijama 18932 i novijima). Također, važno je napomenuti da je potrebna verzija Windows 10 Pro za instalaciju i konfiguraciju Docker Desktopa.
Prvi koraci
Nakon ulaska u program za procjenu i instalacije ažuriranja, potrebno je instalirati Linux distribuciju (u ovom primjeru koristi se Ubuntu 18.04) i Docker Desktop s WSL 2 Tech Preview:
U oba slučaja slijedimo sve upute za instalaciju i konfiguraciju.
Instalacija distribucije Ubuntu 18.04
Prije pokretanja Ubuntu 18.04 potrebno je uključiti Windows WSL i Windows Virtual Machine Platform izvršavanjem dviju naredbi u PowerShellu:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(bit će potrebna ponovna instalacija računala)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Nakon toga trebamo osigurati da koristimo WSL v2. U terminalu WSL-a ili PowerShellu redom izvršavamo naredbe:
wsl -l -v— provjeravamo koja je verzija trenutno instalirana. Ako je 1, idemo dalje na popiswsl --set-version ubuntu 18.04 2— za nadogradnju na verziju 2wsl -s ubuntu 18.04— postavljamo Ubuntu 18.04 kao zadanu distribuciju
Sada možemo pokrenuti Ubuntu 18.04, provesti konfiguraciju (navesti korisničko ime i lozinku).
Instalacija Docker Desktopa
Tijekom instalacije slijedimo upute. Računalo će zatražiti ponovni pokretanje nakon instalacije i pri prvom pokretanju za omogućavanje Hyper-V (zbog kojeg je potrebna verzija Windows 10 Pro).
Važno! Ako Docker Desktop prijavi blokadu od strane vatrozida, odlazimo u postavke antivirusnog programa i unosimo sljedeće promjene u pravila mrežnog vatrozida (u ovom primjeru se koristi Kaspersky Total Security):
- Idemo u Postavke -> Zaštita -> Mrežni vatrozid -> Konfiguriraj paketna pravila -> Local Service (TCP) -> Promijeni
- Iz popisa lokalnih portova uklanjamo port 445
- Spremi
Nakon pokretanja Docker Desktopa u njegovom kontekstnom izborniku odabiremo opciju WSL 2 Tech Preview.

U otvorenom prozoru kliknemo gumb Start.

Sada su docker i docker-compose dostupni unutar distribucije WSL.
Važno! U ažuriranom Docker Desktopu sada postoji kartica s WSL-om unutar prozora postavki. Tamo se uključuje podrška za WSL.

Važno! Osim aktivacijske oznake WSL, također je potrebno u odjeljku Resources->WSL Integration aktivirati vaš WSL distribuciju.

Pokretanje
Iznenađenje su predstavljali mnogi problemi koji su se pojavili prilikom pokušaja podizanja kontejnera projekata smještenih u korisničkom direktoriju Windowsa.
Razne pogreške vezane uz pokretanje bash skripti (koje obično započinju prilikom gradnje kontejnera za instalaciju potrebnih biblioteka i distribucija) i drugih, uobičajenih stvari za razvoj na Linuxu, nagnale su na razmišljanje o smještanju projekata izravno u korisnički direktorij Ubuntu 18.04.
.
Iz rješenja prethodnog problema proizašlo je sljedeće: kako raditi s datotekama projekta kroz IDE instaliran na Windowsu. Kao 'najbolja praksa' pronašao sam samo jednu opciju — rad putem VSCode (iako sam obožavatelj PhpStorma).
Nakon preuzimanja i instalacije VSCode obavezno instaliramo proširenje .
Nakon instalacije prethodno spomenutog proširenja, dovoljno je jednostavno izvršiti naredbu code . u direktori projekta dok je VSCode pokrenut.
U ovom primjeru, za pristup kontejnerima putem preglednika potreban je nginx. Instalirati ga putem sudo apt-get install nginx nije bilo tako jednostavno. Prvo je bilo potrebno ažurirati WSL distribuciju izvršavanjem sudo apt update && sudo apt dist-upgrade, i tek nakon toga pokrenuti instalaciju nginx-a.
Važno! Sve lokalne domene ne upisuju se u datoteku /etc/hosts Linux distribucije (tamo je čak nema), već u datoteku hosts (obično smještenu u C:WindowsSystem32driversetchosts) Windows 10.
Izvori
Detaljniji opis svakog koraka može se pronaći ovdje:
Izvor: habr.com
