Vývoj pomocou Docker na Windows Subsystem for Linux (WSL)
Ak chcete plne pracovať s projektom Docker vo WSL, musíte si nainštalovať WSL 2. V čase písania tohto článku je jeho použitie možné len v rámci účasti v programe Windows Insider (WSL 2 je k dispozícii v zostavách 18932 a vyšších). Samostatne tiež stojí za zmienku, že na inštaláciu a konfiguráciu Docker Desktop je potrebná verzia Windows 10 Pro.
Prvé kroky
Po pripojení k programu Insider a inštalácii aktualizácií si musíte nainštalovať distribúciu Linuxu (v tomto príklade Ubuntu 18.04) a Docker Desktop s WSL 2 Tech Preview:
Teraz môžete spustiť Ubuntu 18.04 a nakonfigurovať ho (zadajte svoje používateľské meno a heslo).
Inštalácia Docker Desktop
Počas procesu inštalácie postupujte podľa pokynov. Počítač bude po inštalácii a prvom spustení vyžadovať reštart, aby sa umožnilo Hyper-V (ktoré vyžaduje podporu systému Windows 10 Pro).
Dôležité! Ak Docker Desktop hlási blokovanie bránou firewall, prejdite do nastavení antivírusu a vykonajte nasledujúce zmeny pravidiel brány firewall (v tomto príklade sa ako antivírus používa Kaspersky Total Security):
Prejdite do Nastavenia -> Zabezpečenie -> Brána firewall -> Konfigurovať pravidlá pre pakety -> Miestna služba (TCP) -> Upraviť
Odstráňte port 445 zo zoznamu miestnych portov
Udržať
Po spustení Docker Desktop vyberte z kontextovej ponuky WSL 2 Tech Preview.
V okne, ktoré sa otvorí, kliknite na tlačidlo Štart.
Docker a docker-compose sú teraz dostupné v rámci distribúcie WSL.
Dôležité! Aktualizovaná plocha Docker Desktop má teraz v okne nastavení kartu s WSL. Je tam povolená podpora WSL.
Dôležité! Okrem zaškrtávacieho políčka aktivácie WSL musíte tiež aktivovať svoju distribúciu WSL na karte Zdroje->Integrácia WSL.
Запуск
Neočakávané bolo množstvo problémov, ktoré sa vyskytli pri pokuse o zdvihnutie projektových kontajnerov umiestnených v užívateľskom adresári Windows.
Chyby rôzneho druhu spojené so spúšťaním bash skriptov (ktoré zvyčajne začínajú pri vytváraní kontajnerov na inštaláciu potrebných knižníc a distribúcií) a ďalšie veci bežné pre vývoj na Linuxe nás prinútili zamyslieť sa nad umiestnením projektov priamo do používateľského adresára Ubuntu 18.04.
.
Od riešenia k predchádzajúcemu problému nasleduje: ako pracovať so súbormi projektu prostredníctvom IDE nainštalovaného v systéme Windows. Ako „najlepší postup“ som pre seba našiel iba jednu možnosť - prácu cez VSCode (hoci som fanúšikom PhpStorm).
Po nainštalovaní vyššie uvedeného rozšírenia jednoducho spustite príkaz code . v adresári projektu, keď je spustený VSCode.
V tomto príklade je nginx potrebný na prístup ku kontajnerom cez prehliadač. Nainštalujte ho cez sudo apt-get install nginx Ukázalo sa, že to nie je také jednoduché. Najprv sme potrebovali aktualizovať distribúciu WSL spustením sudo apt update && sudo apt dist-upgradea až potom spustite inštaláciu nginx.
Dôležité! Všetky lokálne domény nie sú registrované v súbore /etc/hosts distribúcie Linuxu (ani tam nie je), ale v súbore hosts (zvyčajne sa nachádza C:WindowsSystem32driversetchosts) systému Windows 10.