Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Om folslein te wurkjen mei in Docker-projekt yn WSL, moatte jo WSL 2 ynstallearje. Op it stuit fan skriuwen is it gebrûk allinich mooglik as diel fan it dielnimmen oan it Windows Insider-programma (WSL 2 is beskikber yn builds 18932 en heger). It is ek de muoite wurdich om apart te neamen dat de Windows 10 Pro-ferzje is fereaske om Docker Desktop te ynstallearjen en te konfigurearjen.

earste stappen

Nei it meidwaan oan it Insider-programma en it ynstallearjen fan updates, moatte jo in Linux-distribúsje (Ubuntu 18.04 yn dit foarbyld) en Docker Desktop mei WSL 2 Tech Preview ynstallearje:

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

Op beide punten folgje wy alle ynstallaasje- en konfiguraasje-ynstruksjes.

De Ubuntu 18.04-distribúsje ynstallearje

Foardat jo Ubuntu 18.04 útfiere, moatte jo Windows WSL en Windows Virtual Machine Platform ynskeakelje troch twa kommando's yn PowerShell út te fieren:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (fereasket in kompjûter opnij starte)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Nei ôfrin moatte wy derfoar soargje dat wy WSL v2 sille brûke. Om dit te dwaan, rinne de folgjende kommando's yn 'e WSL- of PowerShell-terminal:

  • wsl -l -v - sjoch nei hokker ferzje op it stuit ynstalleare is. As 1, dan geane wy ​​fierder nei ûnderen yn 'e list
  • wsl --set-version ubuntu 18.04 2 - bywurkje nei ferzje 2
  • wsl -s ubuntu 18.04 - ynstallearje Ubuntu 18.04 as de standertdistribúsje

No kinne jo Ubuntu 18.04 starte en it konfigurearje (spesifisearje jo brûkersnamme en wachtwurd).

Ynstallaasje fan Docker Desktop

Folgje de ynstruksjes tidens it ynstallaasjeproses. De kompjûter sil nei ynstallaasje en by it earste opstarten opnij starte om Hyper-V yn te skeakeljen (wat fereasket Windows 10 Pro om te stypjen).

Wichtich! As Docker Desktop rapportearret blokkearjen troch de firewall, gean dan nei de antivirus-ynstellingen en meitsje de folgjende wizigingen oan 'e firewall-regels (yn dit foarbyld wurdt Kaspersky Total Security brûkt as it antivirus):

  • Gean nei Ynstellings -> Feiligens -> Firewall -> Pakketregels ynstelle -> Lokale tsjinst (TCP) -> Bewurkje
  • Fuortsmite haven 445 út de list mei lokale havens
  • behâlde

Nei it starten fan Docker Desktop, selektearje WSL 2 Tech Preview út it kontekstmenu.

Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Klikje yn it finster dat iepent op de Start knop.

Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Docker en docker-compose binne no beskikber binnen de WSL-distribúsje.

Wichtich! It bywurke Docker Desktop hat no in ljepper mei WSL yn it ynstellingsfinster. WSL-stipe is dêr ynskeakele.

Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Wichtich! Neist it karfakje foar WSL-aktivearring moatte jo jo WSL-distribúsje ek aktivearje yn it ljepblêd Resources->WSL-yntegraasje.

Untwikkeling mei Docker op Windows Subsystem foar Linux (WSL)

Te rinnen

Wat ûnferwacht wie, wie de protte problemen dy't ûntstienen by it besykjen om projektkonteners op te heffen yn 'e Windows-brûkersmap.

Flaters fan ferskate soarten ferbûn mei de lansearring fan bash-skripts (dy't normaal begjinne by it bouwen fan konteners foar it ynstallearjen fan de nedige biblioteken en distribúsjes) en oare dingen dy't gewoanlik binne foar ûntwikkeling op Linux makken ús nei te tinken oer it pleatsen fan projekten direkt yn 'e brûkersmap fan Ubuntu 18.04.

.

Fan 'e oplossing foar it foarige probleem folget it folgjende: hoe kinne jo wurkje mei projektbestannen fia in IDE ynstalleare op Windows. As "bêste praktyk" fûn ik mar ien opsje foar mysels - wurkje fia VSCode (hoewol ik in fan bin fan PhpStorm).

Nei it downloaden en ynstallearjen fan VSCode, wês wis dat jo it yn 'e tafoeging ynstallearje Extensionspakket foar ûntwikkeling op ôfstân.

Nei it ynstallearjen fan de hjirboppe neamde tafoeging, útfiere gewoan it kommando code . yn 'e projektmap as VSCode rint.

Yn dit foarbyld is nginx nedich om tagong te krijen ta konteners fia de browser. Ynstallearje it fia sudo apt-get install nginx It die bliken net sa ienfâldich te wêzen. Earst moasten wy de WSL-distribúsje bywurkje troch te rinnen sudo apt update && sudo apt dist-upgrade, en pas dêrnei begjinne de nginx-ynstallaasje.

Wichtich! Alle lokale domeinen wurde registrearre net yn it /etc/hosts-bestân fan 'e Linux-distribúsje (it is der net iens), mar yn' e hosts-bestân (meastal C: WindowsSystem32driversetchosts) fan Windows 10.

Boarnen

In mear detaillearre beskriuwing fan elke stap is hjir te finen:

Boarne: www.habr.com

Add a comment