Udvikling med Docker på Windows Subsystem til Linux (WSL)

Udvikling med Docker på Windows Subsystem til Linux (WSL)

For fuldt ud at arbejde med et Docker-projekt i WSL skal du installere WSL 2. I skrivende stund er brugen kun mulig som en del af deltagelse i Windows Insider-programmet (WSL 2 er tilgængelig i builds 18932 og nyere). Det er også værd at nævne separat, at Windows 10 Pro-versionen er påkrævet for at installere og konfigurere Docker Desktop.

Første trin

Efter at have tilmeldt dig Insider-programmet og installeret opdateringer, skal du installere en Linux-distribution (Ubuntu 18.04 i dette eksempel) og Docker Desktop med WSL 2 Tech Preview:

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

På begge punkter følger vi alle installations- og konfigurationsinstruktioner.

Installation af Ubuntu 18.04-distributionen

Før du kører Ubuntu 18.04, skal du aktivere Windows WSL og Windows Virtual Machine Platform ved at køre to kommandoer i PowerShell:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux (kræver en genstart af computeren)
  2. Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Bagefter skal vi sikre os, at vi vil bruge WSL v2. For at gøre dette skal du køre følgende kommandoer i WSL- eller PowerShell-terminalen:

  • wsl -l -v — se, hvilken version der er installeret i øjeblikket. Hvis 1, så rykker vi længere ned på listen
  • wsl --set-version ubuntu 18.04 2 - for at opdatere til version 2
  • wsl -s ubuntu 18.04 - installer Ubuntu 18.04 som standarddistribution

Nu kan du starte Ubuntu 18.04 og konfigurere det (angiv dit brugernavn og adgangskode).

Installation af Docker Desktop

Følg instruktionerne under installationsprocessen. Computeren vil kræve en genstart efter installation og ved første opstart for at aktivere Hyper-V (hvilket er grunden til Windows 10 Pro er påkrævet).

Vigtigt! Hvis Docker Desktop rapporterer blokering af firewallen, skal du gå til antivirusindstillingerne og foretage følgende ændringer af firewallreglerne (i dette eksempel bruges Kaspersky Total Security som antivirus):

  • Gå til Indstillinger -> Sikkerhed -> Firewall -> Konfigurer pakkeregler -> Lokal service (TCP) -> Rediger
  • Fjern port 445 fra listen over lokale porte
  • Bevar

Når du har startet Docker Desktop, skal du vælge WSL 2 Tech Preview fra dens kontekstmenu.

Udvikling med Docker på Windows Subsystem til Linux (WSL)

Klik på knappen Start i det vindue, der åbnes.

Udvikling med Docker på Windows Subsystem til Linux (WSL)

Docker og docker-compose er nu tilgængelige i WSL-distributionen.

Vigtigt! Det opdaterede Docker Desktop har nu en fane med WSL i indstillingsvinduet. WSL-understøttelse er aktiveret der.

Udvikling med Docker på Windows Subsystem til Linux (WSL)

Vigtigt! Ud over afkrydsningsfeltet WSL-aktivering skal du også aktivere din WSL-distribution på fanen Ressourcer->WSL-integration.

Udvikling med Docker på Windows Subsystem til Linux (WSL)

Запуск

Det uventede var de mange problemer, der opstod, da man forsøgte at løfte projektbeholdere, der var placeret i Windows-brugermappen.

Fejl af forskellig art i forbindelse med lanceringen af ​​bash-scripts (som normalt starter, når man bygger containere til installation af de nødvendige biblioteker og distributioner) og andre ting, der er fælles for udvikling på Linux, fik os til at tænke på at placere projekter direkte i brugerbiblioteket i Ubuntu 18.04.

.

Fra løsningen på det forrige problem følger følgende: hvordan man arbejder med projektfiler via en IDE installeret på Windows. Som en "best practice" fandt jeg kun én mulighed for mig selv - at arbejde gennem VSCode (selvom jeg er fan af PhpStorm).

Efter at have downloadet og installeret VSCode, skal du sørge for at installere det i udvidelsen udvidelsespakke til fjernudvikling.

Efter installation af ovennævnte udvidelse skal du blot køre kommandoen code . i projektbiblioteket, når VSCode kører.

I dette eksempel kræves nginx for at få adgang til containere gennem browseren. Installer den via sudo apt-get install nginx Det viste sig ikke at være så enkelt. Først skulle vi opdatere WSL-distributionen ved at køre sudo apt update && sudo apt dist-upgrade, og først derefter startes nginx-installationen.

Vigtigt! Alle lokale domæner er ikke registreret i /etc/hosts-filen i Linux-distributionen (den er ikke engang der), men i hosts-filen (normalt placeret C:WindowsSystem32driversetchosts) i Windows 10.

kilder

En mere detaljeret beskrivelse af hvert trin kan findes her:

Kilde: www.habr.com

Tilføj en kommentar