Docker fejlesztés Windows WSL-en

Docker fejlesztés Windows WSL-en

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:

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 a Windows Áruházból

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:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (szükséges a számítógép újraindítása)
  2. 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ával
  • wsl --set-version ubuntu 18.04 2 — a 2-es verzióra való frissítéshez
  • wsl -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.

Docker fejlesztés Windows WSL-en

A megnyíló ablakban kattintsunk a Start gombra.

Docker fejlesztés Windows WSL-en

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.

Docker fejlesztés Windows WSL-en

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.

Docker fejlesztés Windows WSL-en

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 Remote Development extension pack.

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

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster