Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

Om ten volle met 'n docker-projek in WSL te werk, moet jy WSL 2 installeer. Ten tyde van hierdie skrywe kan dit slegs as deel van die Windows Insider-program gebruik word (WSL 2 is beskikbaar in builds 18932 en hoër). Dit is ook die moeite werd om afsonderlik te noem dat u 'n weergawe van Windows 10 Pro nodig het om Docker Desktop te installeer en op te stel.

Eerste stappe

Nadat u by die Insider-program aangesluit het en opdaterings geïnstalleer het, moet u 'n Linux-verspreiding installeer (Ubuntu 18.04 word in hierdie voorbeeld gebruik) en Docker Desktop met WSL 2 Tech Preview:

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

Volg in beide paragrawe al die instruksies vir installasie en konfigurasie.

Installeer die Ubuntu 18.04-verspreiding

Voordat u Ubuntu 18.04 bestuur, moet u Windows WSL en Windows Virtual Machine Platform aktiveer deur twee opdragte in PowerShell uit te voer:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (vereis 'n rekenaar herbegin)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Daarna moet ons seker maak dat ons WSL v2 sal gebruik. Om dit te doen, voer die volgende opdragte in die WSL- of PowerShell-terminaal uit:

  • wsl -l -v - kyk watter weergawe tans geïnstalleer is. As 1, beweeg dan af in die lys
  • wsl --set-version ubuntu 18.04 2 - om op te gradeer na weergawe 2
  • wsl -s ubuntu 18.04 - installeer Ubuntu 18.04 as die verstekverspreiding

Nou kan jy Ubuntu 18.04 begin, konfigureer (spesifiseer gebruikersnaam en wagwoord).

Installeer Docker Desktop

Volg die instruksies tydens die installasieproses. Die rekenaar sal 'n herbegin vereis na installasie en by die eerste opstart om Hyper-V te aktiveer (dit is hoekom Windows 10 Pro vereis word).

Belangrik! As Docker Desktop 'n brandmuurblokkering rapporteer, gaan na die antivirusinstellings en maak die volgende veranderinge aan die firewallreëls (in hierdie voorbeeld word Kaspersky Total Security as 'n antivirus gebruik):

  • Gaan na Instellings -> Sekuriteit -> Firewall -> Stel pakkiereëls op -> Plaaslike diens (TCP) -> Wysig
  • Verwyder poort 445 uit die lys van plaaslike poorte
  • Save

Nadat u Docker Desktop begin het, kies WSL 2 Tech Preview in die kontekskieslys.

Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

Klik op die Start-knoppie in die venster wat oopmaak.

Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

Docker en docker-compose is nou beskikbaar in die WSL-verspreiding.

Belangrik! Die opgedateerde Docker Desktop het nou 'n oortjie met WSL in die instellingsvenster. WSL-ondersteuning is daar geaktiveer.

Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

Belangrik! Benewens die WSL-aktivering-merkblokkie, moet jy ook jou WSL-verspreiding in die Hulpbronne-> WSL-integrasie-oortjie aktiveer.

Ontwikkel met Docker op Windows Subsystem for Linux (WSL)

bekendstelling

Die talle probleme wat ontstaan ​​het toe daar probeer om houers van projekte in die Windows-gebruikersgids in te samel, was 'n verrassing.

Verskeie soorte foute wat verband hou met die uitvoer van bash-skrifte (wat gewoonlik begin wanneer houers gebou word om die nodige biblioteke en verspreidings te installeer) en ander dinge wat algemeen is vir Linux-ontwikkeling, het my laat dink om projekte direk in die Ubuntu 18.04-gebruikersgids te plaas.

.

Uit die oplossing van die vorige probleem volg die volgende: hoe om met projeklêers te werk deur 'n IDE wat op Windows geïnstalleer is. As 'n "beste praktyk" het ek net een opsie vir myself gevind - deur VSCode te werk (hoewel ek 'n aanhanger van PhpStorm is).

Nadat u VSCode afgelaai en geïnstalleer het, moet u dit in die uitbreiding installeer Uitbreidingspakket vir afstandontwikkeling.

Nadat u die bogenoemde uitbreiding geïnstalleer het, voer eenvoudig die opdrag uit code . in die projekgids wanneer VSCode loop.

In hierdie voorbeeld word nginx vereis om toegang tot houers deur 'n blaaier te verkry. Installeer dit via sudo apt-get install nginx dit het nie so maklik geblyk nie. Die eerste stap was om die WSL-verspreiding op te dateer deur te hardloop sudo apt update && sudo apt dist-upgrade, en voer eers daarna die nginx-installasie uit.

Belangrik! Alle plaaslike domeine word nie in die Linux-verspreiding se /etc/hosts-lêer geskryf nie (dit is nie eers daar nie), maar in die Windows 32-gasheerlêer (gewoonlik geleë C:WindowsSystem10driversetchosts).

bronne

'n Meer gedetailleerde beskrywing van elke stap kan hier gevind word:

Bron: will.com

Voeg 'n opmerking