Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

Pentru a lucra pe deplin cu un proiect Docker în WSL, trebuie să instalați WSL 2. În momentul scrierii, utilizarea acestuia este posibilă numai ca parte a participării la programul Windows Insider (WSL 2 este disponibil în versiunile 18932 și mai recente). De asemenea, merită menționat separat că versiunea Windows 10 Pro este necesară pentru a instala și configura Docker Desktop.

Primii pași

După ce vă alăturați programului Insider și instalați actualizări, trebuie să instalați o distribuție Linux (Ubuntu 18.04 în acest exemplu) și Docker Desktop cu WSL 2 Tech Preview:

  1. Docker Desktop WSL 2 Tech Preview
  2. Ubuntu 18.04 din Windows Store

În ambele puncte urmărim toate instrucțiunile de instalare și configurare.

Instalarea distribuției Ubuntu 18.04

Înainte de a rula Ubuntu 18.04, trebuie să activați Windows WSL și Windows Virtual Machine Platform rulând două comenzi în PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (necesită o repornire a computerului)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

După aceea, trebuie să ne asigurăm că vom folosi WSL v2. Pentru a face acest lucru, în terminalul WSL sau PowerShell, executați următoarele comenzi:

  • wsl -l -v — uitați-vă la ce versiune este instalată în prezent. Dacă 1, atunci ne deplasăm mai jos în listă
  • wsl --set-version ubuntu 18.04 2 - pentru a actualiza la versiunea 2
  • wsl -s ubuntu 18.04 — instalați Ubuntu 18.04 ca distribuție implicită

Acum puteți porni Ubuntu 18.04 și îl puteți configura (specificați numele de utilizator și parola).

Instalarea Docker Desktop

Urmați instrucțiunile în timpul procesului de instalare. Computerul va necesita o repornire după instalare și la prima pornire pentru a activa Hyper-V (care necesită Windows 10 Pro pentru a fi compatibil).

Important! Dacă Docker Desktop raportează blocarea de către firewall, accesați setările antivirus și efectuați următoarele modificări în regulile firewallului (în acest exemplu, Kaspersky Total Security este folosit ca antivirus):

  • Accesați Setări -> Securitate -> Firewall -> Configurați regulile de pachete -> Serviciu local (TCP) -> Editați
  • Eliminați portul 445 din lista de porturi locale
  • Reține

După ce porniți Docker Desktop, selectați WSL 2 Tech Preview din meniul său contextual.

Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

În fereastra care se deschide, faceți clic pe butonul Start.

Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

Docker și docker-compose sunt acum disponibile în distribuția WSL.

Important! Desktop-ul Docker actualizat are acum o filă cu WSL în fereastra de setări. Suportul WSL este activat acolo.

Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

Important! Pe lângă caseta de selectare Activare WSL, trebuie să activați și distribuția WSL în fila Resurse->Integrare WSL.

Dezvoltare cu Docker pe subsistemul Windows pentru Linux (WSL)

lansa

Ceea ce a fost neașteptat au fost numeroasele probleme care au apărut la încercarea de a ridica containerele de proiect aflate în directorul de utilizatori Windows.

Erorile de diferite feluri asociate cu lansarea scripturilor bash (care încep de obicei la construirea containerelor pentru instalarea bibliotecilor și distribuțiilor necesare) și alte lucruri comune pentru dezvoltarea pe Linux ne-au făcut să ne gândim la plasarea proiectelor direct în directorul de utilizatori al Ubuntu 18.04.

.

De la soluția la problema anterioară, urmează: cum să lucrați cu fișierele de proiect printr-un IDE instalat pe Windows. Ca „cea mai bună practică”, am găsit o singură opțiune pentru mine - să lucrez prin VSCode (deși sunt fan PhpStorm).

După descărcarea și instalarea VSCode, asigurați-vă că îl instalați în extensie Pachet de extensii pentru dezvoltare la distanță.

După instalarea extensiei menționate mai sus, pur și simplu rulați comanda code . în directorul de proiect atunci când VSCode rulează.

În acest exemplu, nginx este necesar pentru a accesa containerele prin browser. Instalați-l prin sudo apt-get install nginx S-a dovedit a nu fi atât de simplu. Mai întâi, trebuia să actualizăm distribuția WSL rulând sudo apt update && sudo apt dist-upgrade, și numai după aceea porniți instalarea nginx.

Important! Toate domeniile locale sunt înregistrate nu în fișierul /etc/hosts al distribuției Linux (nici măcar nu există), ci în fișierul hosts (de obicei situat în C:WindowsSystem32driversetchosts) al Windows 10.

surse

O descriere mai detaliată a fiecărui pas poate fi găsită aici:

Sursa: www.habr.com

Adauga un comentariu