ProHoster > Blog > Uprava > Razvoj z Dockerjem v podsistemu Windows za Linux (WSL)
Razvoj z Dockerjem v podsistemu Windows za Linux (WSL)
Če želite v celoti delati s projektom Docker v WSL, morate namestiti WSL 2. V času pisanja je njegova uporaba možna le kot del sodelovanja v programu Windows Insider (WSL 2 je na voljo v različicah 18932 in novejših). Ločeno je treba omeniti tudi, da je za namestitev in konfiguracijo Docker Desktop potrebna različica Windows 10 Pro.
Prvi koraki
Ko se pridružite programu Insider in namestite posodobitve, morate namestiti distribucijo Linuxa (v tem primeru Ubuntu 18.04) in Docker Desktop s tehničnim predogledom WSL 2:
Zdaj lahko zaženete Ubuntu 18.04 in ga konfigurirate (določite svoje uporabniško ime in geslo).
Namestitev Docker Desktop
Sledite navodilom med postopkom namestitve. Računalnik bo zahteval ponovni zagon po namestitvi in ob prvem zagonu, da se omogoči Hyper-V (ki zahteva podporo za Windows 10 Pro).
Pomembno! Če Docker Desktop poroča o blokiranju s strani požarnega zidu, pojdite v nastavitve protivirusnega programa in naredite naslednje spremembe v pravilih požarnega zidu (v tem primeru se kot protivirusni program uporablja Kaspersky Total Security):
Pojdite v Nastavitve -> Varnost -> Požarni zid -> Konfiguracija paketnih pravil -> Lokalna storitev (TCP) -> Uredi
Odstranite vrata 445 s seznama lokalnih vrat
Ohranijo
Ko zaženete Docker Desktop, v kontekstnem meniju izberite WSL 2 Tech Preview.
V oknu, ki se odpre, kliknite gumb Start.
Docker in docker-compose sta zdaj na voljo v distribuciji WSL.
Pomembno! Posodobljeno namizje Docker Desktop ima zdaj v oknu z nastavitvami zavihek z WSL. Tam je omogočena podpora za WSL.
Pomembno! Poleg potrditvenega polja za aktivacijo WSL morate aktivirati tudi distribucijo WSL v zavihku Viri->Integracija WSL.
Izstrelite
Kar je bilo nepričakovano, so bile številne težave, ki so se pojavile pri poskusu dvigovanja projektnih vsebnikov v uporabniškem imeniku Windows.
Napake različnih vrst, povezane z zagonom bash skriptov (ki se običajno začnejo pri gradnji vsebnikov za namestitev potrebnih knjižnic in distribucij) in druge stvari, običajne za razvoj v Linuxu, so nas spodbudile k razmišljanju o postavitvi projektov neposredno v uporabniški imenik Ubuntu 18.04.
.
Iz rešitve prejšnjega problema sledi: kako delati s projektnimi datotekami preko IDE nameščenega v sistemu Windows. Kot "najboljšo prakso" sem zase našel samo eno možnost - delo prek VSCode (čeprav sem oboževalec PhpStorm).
Po namestitvi zgoraj omenjene razširitve preprosto zaženite ukaz code . v imeniku projekta, ko se izvaja VSCode.
V tem primeru je nginx potreben za dostop do vsebnikov prek brskalnika. Namestite ga prek sudo apt-get install nginx Izkazalo se je, da ni tako preprosto. Najprej smo morali posodobiti distribucijo WSL z zagonom sudo apt update && sudo apt dist-upgrade, in šele po tem zaženite namestitev nginx.
Pomembno! Vse lokalne domene niso registrirane v datoteki /etc/hosts distribucije Linux (sploh je ni), ampak v datoteki gostiteljev (običajno se nahaja C:WindowsSystem32driversetchosts) sistema Windows 10.