Razvoj uz Docker na Windows podsistemu za Linux (WSL)

Razvoj uz Docker na Windows podsistemu za Linux (WSL)

Da biste u potpunosti radili sa docker projektom u WSL-u, morate instalirati WSL 2. U vrijeme pisanja ovog teksta, on se može koristiti samo kao dio programa Windows Insider (WSL 2 je dostupan u verzijama 18932 i novijim). Također je vrijedno spomenuti odvojeno da vam je potrebna verzija Windows 10 Pro da biste instalirali i konfigurirali Docker Desktop.

prvi koraci

Nakon što se pridružite programu Insider i instalirate ažuriranja, morate instalirati distribuciju Linuxa (u ovom primjeru se koristi Ubuntu 18.04) i Docker Desktop sa WSL 2 Tech Preview:

  1. Docker Desktop WSL 2 tehnički pregled
  2. Ubuntu 18.04 iz Windows prodavnice

U oba paragrafa pratite sva uputstva za instalaciju i konfiguraciju.

Instaliranje distribucije Ubuntu 18.04

Prije pokretanja Ubuntu 18.04, morate omogućiti Windows WSL i Windows Virtual Machine Platformu pokretanjem dvije komande u PowerShell-u:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (zahteva ponovno pokretanje računara)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Nakon toga, moramo biti sigurni da ćemo koristiti WSL v2. Da biste to učinili, pokrenite sljedeće naredbe u WSL ili PowerShell terminalu:

  • wsl -l -v - pogledajte koja je verzija trenutno instalirana. Ako je 1, onda se pomjerite prema dolje na listi
  • wsl --set-version ubuntu 18.04 2 - za nadogradnju na verziju 2
  • wsl -s ubuntu 18.04 - instalirajte Ubuntu 18.04 kao zadanu distribuciju

Sada možete pokrenuti Ubuntu 18.04, konfigurirati (navesti korisničko ime i lozinku).

Instaliranje Docker Desktop

Pratite uputstva tokom procesa instalacije. Računar će zahtijevati ponovno pokretanje nakon instalacije i pri prvom pokretanju da bi se omogućio Hyper-V (zbog čega je potreban Windows 10 Pro).

Važno! Ako Docker Desktop prijavi blokiranje zaštitnog zida, idite na postavke antivirusnog programa i napravite sljedeće promjene u pravilima zaštitnog zida (u ovom primjeru, Kaspersky Total Security se koristi kao antivirus):

  • Idite na Postavke -> Sigurnost -> Firewall -> Konfiguriraj pravila za pakete -> Lokalna usluga (TCP) -> Uredi
  • Uklonite port 445 sa liste lokalnih portova
  • zadržati

Nakon što pokrenete Docker Desktop, odaberite WSL 2 Tech Preview iz njegovog kontekstnog izbornika.

Razvoj uz Docker na Windows podsistemu za Linux (WSL)

U prozoru koji se otvori kliknite na dugme Start.

Razvoj uz Docker na Windows podsistemu za Linux (WSL)

Docker i docker-compose su sada dostupni unutar WSL distribucije.

Važno! Ažurirani Docker Desktop sada ima karticu sa WSL unutar prozora postavki. Tu je omogućena WSL podrška.

Razvoj uz Docker na Windows podsistemu za Linux (WSL)

Važno! Osim potvrdnog okvira za WSL aktivaciju, također morate aktivirati svoju WSL distribuciju na kartici Resursi-> WSL Integracija.

Razvoj uz Docker na Windows podsistemu za Linux (WSL)

Запуск

Mnogi problemi koji su se pojavili prilikom pokušaja podizanja kontejnera projekata koji se nalaze u Windows korisničkom direktoriju bili su iznenađenje.

Različite vrste grešaka koje se odnose na pokretanje bash skripti (koje obično počinju kada se naprave kontejneri za instaliranje potrebnih biblioteka i distribucija) i druge stvari koje su uobičajene za razvoj na Linuxu, navele su me da razmišljam o postavljanju projekata direktno u Ubuntu 18.04 korisnički direktorij.

.

Iz rješenja prethodnog problema slijedi: kako raditi sa projektnim datotekama preko IDE instaliranog na Windows-u. Kao „najbolju praksu“, našao sam samo jednu opciju za sebe - rad preko VSCode-a (iako sam obožavatelj PhpStorma).

Nakon što preuzmete i instalirate VSCode, obavezno ga instalirajte u ekstenziju Paket proširenja za daljinski razvoj.

Nakon instaliranja gornje ekstenzije, jednostavno pokrenite naredbu code . u direktoriju projekta kada je VSCode pokrenut.

U ovom primjeru, nginx je neophodan za pristup kontejnerima preko pretraživača. Instalirajte ga putem sudo apt-get install nginx pokazalo se da nije tako lako. Prvi korak je bio ažuriranje WSL distribucije pokretanjem sudo apt update && sudo apt dist-upgrade, i tek nakon toga pokrenite nginx instalaciju.

Važno! Svi lokalni domeni nisu upisani u datoteku /etc/hosts distribucije Linuxa (nije čak ni tamo), već u Windows 32 hosts datoteku (obično se nalazi C:WindowsSystem10driversetchosts).

Izvori

Detaljniji opis svakog koraka možete pronaći ovdje:

izvor: www.habr.com

Dodajte komentar