
A docker projekttel való teljes körű munkához szükséges a WSL 2 telepítése. A cikk írásakor csak a Windows előzetes értékelési program keretein belül használható (a WSL 2 az 18932 és újabb verziókban érhető el). Emellett megemlítendő, hogy szükséges a Windows 10 Pro verzió a Docker Desktop telepítéséhez és beállításához.
Első lépések
A program előzetes értékelésébe való belépés és a frissítések telepítése után telepíteni kell egy Linux disztribúciót (ebben a példában az Ubuntu 18.04 kerül felhasználásra) és a Docker Desktopot a WSL 2 Tech Preview segítségével:
Mindkét lépésben kövessük a telepítési és beállítási utasításokat.
Ubuntu 18.04 disztribúció telepítése
Az Ubuntu 18.04 elindítása előtt engedélyezni kell a Windows WSL-t és a Windows Virtual Machine Platformot PowerShell-ben végrehajtott két parancs segítségével:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux(szükséges a számítógép újraindítása)Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Ezután biztosítani kell, hogy a WSL v2-t használjuk. Ehhez a WSL vagy PowerShell terminálban a következő parancsokat kell végrehajtani:
wsl -l -v— ellenőrizzük, hogy melyik verzió van telepítve. Ha 1, akkor folytatjuk a listávalwsl --set-version ubuntu 18.04 2— a 2-es verzióra való frissítéshezwsl -s ubuntu 18.04— az Ubuntu 18.04 alapértelmezett disztribúcióként történő beállításához
Most már elindíthatjuk az Ubuntu 18.04-t, elvégezhetjük a beállítást (felhasználónév és jelszó megadása).
Docker Desktop telepítése
A telepítési folyamat során kövessük az utasításokat. A számítógép újraindítását kérni fogja a telepítés után és az első indításkor a Hyper-V engedélyezéséhez (ami miatt szükséges a Windows 10 Pro verzió).
Fontos! Ha a Docker Desktop tűzfal blokkolását jelzi, lépjünk be a vírusirtó beállításaiba, és végezzük el a következő módosításokat a hálózati tűzfal szabályaiban (ebben a példában a vírusirtó a Kaspersky Total Security):
- Lépjünk a Beállítások -> Védelem -> Hálózati tűzfal -> Csomagszabályok beállítása -> Helyi Szolgáltatás (TCP) -> Módosítás
- Az helyi portok listájából távolítsuk el a 445-ös portot
- Mentés
A Docker Desktop elindítása után a jobb gombos menüjében válasszuk a WSL 2 Tech Preview lehetőséget.

A megnyíló ablakban kattintsunk a Start gombra.

Most a docker és docker-compose elérhető a WSL disztribúcióban.
Fontos! Az új Docker Desktopban mostantól a WSL fül szerepel a beállítások ablakában. Itt aktiválhatja a WSL támogatását.

Fontos! A WSL aktiválásának kipipálása mellett a Resources->WSL Integration fülön is aktiválnia kell az WSL disztribúcióját.

Indítás
Meglepetés volt, hogy sok probléma merült fel, amikor megpróbáltuk felemelni a projektek konténereit, amelyek a Windows felhasználói könyvtárában találhatók.
A különböző hibák, amelyek a bash-scriptek futtatásával kapcsolatosak (amelyek általában a konténerek felépítésekor indulnak el az szükséges könyvtárak és disztribúciók telepítése érdekében) valamint egyéb, Linux fejlesztésénél szokásos dolgok, arra kényszerítettek, hogy a projekteket közvetlenül az Ubuntu 18.04 felhasználói könyvtárában helyezzük el.
.
Az előző probléma megoldásából következik a következő: hogyan dolgozzunk a projekt fájlokkal a Windowsra telepített IDE-n keresztül. Mint "legjobb gyakorlatot" csak egy alternatívát találtam — a VSCode használatát (bár a PhpStorm híve vagyok).
A VSCode letöltése és telepítése után feltétlenül telepítsük az kiegészítőt .
A fent említett kiegészítő telepítése után elég egyszerűen végrehajtani a parancsot code . a projekt könyvtárában a VSCode futtatásakor.
A jelen példában a konténerek böngészőn keresztüli elérhetőségéhez szükség van nginx-re. Telepíteni kell a következők alapján sudo apt-get install nginx nem volt olyan egyszerű. Első lépésként frissíteni kellett a WSL disztribúcióját a sudo apt update && sudo apt dist-upgrade, és csak ezután indítható az nginx telepítése.
Fontos! Mindezek a helyi domainek nem a Linux disztribúció /etc/hosts fájljában vannak (ott még csak nincs is), hanem a Windows 10 hosts fájljában (ami általában a C:WindowsSystem32driversetchosts alatt található).
Források
Minden lépés részletesebb leírását itt találhatja:
Forrás: habr.com
