Vývoj pomocou Docker na Windows Subsystem for Linux (WSL)

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:

  1. Technická ukážka Docker Desktop WSL 2
  2. Ubuntu 18.04 z Windows Store

V oboch bodoch dodržiavame všetky pokyny na inštaláciu a konfiguráciu.

Inštalácia distribúcie Ubuntu 18.04

Pred spustením Ubuntu 18.04 musíte povoliť Windows WSL a Windows Virtual Machine Platform spustením dvoch príkazov v PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (vyžaduje reštart počítača)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Potom sa musíme uistiť, že budeme používať WSL v2. Ak to chcete urobiť, v termináli WSL alebo PowerShell spustite nasledujúce príkazy:

  • wsl -l -v — Pozrite sa, ktorá verzia je aktuálne nainštalovaná. Ak 1, posunieme sa ďalej v zozname
  • wsl --set-version ubuntu 18.04 2 - aktualizovať na verziu 2
  • wsl -s ubuntu 18.04 — nainštalujte Ubuntu 18.04 ako predvolenú distribúciu

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ývoj pomocou Docker na Windows Subsystem for Linux (WSL)

V okne, ktoré sa otvorí, kliknite na tlačidlo Štart.

Vývoj pomocou Docker na Windows Subsystem for Linux (WSL)

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.

Vývoj pomocou Docker na Windows Subsystem for Linux (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.

Vývoj pomocou Docker na Windows Subsystem for Linux (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 stiahnutí a inštalácii VSCode ho nezabudnite nainštalovať do rozšírenia Balík rozšírenia pre vzdialený vývoj.

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.

zdroje

Podrobnejší popis každého kroku nájdete tu:

Zdroj: hab.com

Pridať komentár