window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = vindue if (w.LeadBooster) { console.warn('LeadBooster findes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Smertefri vej til WSL 2 med Docker - The Codest
Codest
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Industrier
    • Fintech og bankvirksomhed
    • E-commerce
    • Adtech
    • Sundhedsteknologi
    • Produktion
    • Logistik
    • Biler
    • IOT
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
Pil tilbage GÅ TILBAGE
2020-01-21
Udvikling af software

Smertefri vej til WSL 2 med Docker

Lukasz Kolko

Ved at introducere Windows Subsystem for Linux (WSL) gav Microsoft udviklere mulighed for at køre et GNU/Linux-miljø direkte på Windows, uændret, uden at skulle bruge en virtuel maskine. Det er en god løsning, fordi mange udviklere bruger ét system til programmering og et andet til underholdning.

WSL er stadig under udvikling, men det er i øjeblikket velegnet til moderne softwareudviklingbåde i den første og den anden version. Når man gennemgår de problemer og spørgsmål, der er rapporteret på internettet, synes de fleste at vedrøre integrationen af WSL med Docker, især når det drejer sig om opgradering fra WSL 1 til WSL 2.

Denne artikel vil fjerne alle uklarheder og hjælpe dig med at komme smertefrit igennem denne proces. Hvis du ikke har WSL 1 og gerne vil have WSL 2 med Docker, kan du springe direkte til det sidste kapitel.

Hvad får du ud af det?

- Den nyeste stabile Linux-kerne (tunet af Microsoft). WSL 1 har en Linux-kompatibel kernegrænseflade uden Linux-kernen Kode.

- Øget fil-IO-ydelse. Op til 20 gange hurtigere sammenlignet med WSL 1 ved udpakning af en zippet tarball, omkring 2-5 gange hurtigere ved brug af git-klon, npm-installation og cmake på forskellige projekter.

- Fuld kompatibilitet med systemkald. Linux-binære filer bruger systemkald til at udføre mange funktioner, som f.eks. at få adgang til filer, anmode om hukommelse, oprette processer og meget mere. Mens WSL 1 brugte et oversættelseslag bygget af WSL holdWSL 2 indeholder sin egen Linux-kerne med fuld systemkaldskompatibilitet.

- Filer gemt i en oprindelig ext4-partition på en virtuel disk.

- Meget nem måde at integrere med Docker på.

Jeg tror, at for de fleste brugere lyder fil-IO-ydelsen og den nemme docker-integration som tilstrækkelige grunde.

Lad os komme af sted!

Jeg går ud fra, at du har den seneste stabile version af Windows 10 Pro. I dag er det 1909-udgaven.

Slut dig til Windows-insidere

I øjeblikket er WSL 2 kun tilgængelig for Windows 10 i insiders' slow ring. Så vidt jeg ved, skulle den stabile version være tilgængelig i maj 2020 (20H1-udgivelse). Den langsomme ring er en ganske sikker løsning for brugere, der gerne vil have nye funktioner lidt tidligere, som allerede er testet af brugere af den hurtige ring. Den langsomme ring får systemopdateringer op til en eller to gange om måneden. Du kan læse om ændringer i insiders release i det Microsoft-dokument, der hedder Fly-hub.

For at deltage skal du blot følge den officielle Microsoft guide. Det er meget nemt og tager ca. 15 minutter uden at miste nogen personlige data.

Opgrader WSL 1 til WSL 2

Følg den officielle guide. Det er også meget nemt, et par shell-kommandoer, og så er du i gang! Afhængigt af hvor omfattende din Linux under WSL 1 var, kan det tage lidt tid. Desværre har Microsoft ikke placeret en statuslinje eller oplysninger om den nødvendige tid, så bare hav tålmodighed.

Oprydning

Dette er den vigtigste del af et godt samarbejde mellem WSL 2 og Docker. Efter at have opgraderet til WSL 2 forsøger mange brugere at tvinge deres version af Docker til at samarbejde uden at indse, at Docker-teamet, især for WSL 2, har forberedt en udgivelse, der vil gøre alt for os. Dette er den sidste udgivelse af Docker Edge-versionen (deres beta-navn) - "Docker Desktop WSL 2 backend". Denne version, 2.1.7.0, er velpoleret og er en kandidat til den kommende stabile udgivelse.

Brugere, der ikke havde WSL 1 eller lige har installeret en ny version af WSL 2, er heldige og kan straks springe til det sidste kapitel.

Hvis du ikke har renset din Docker (overhovedet eller korrekt) og ikke har installeret den rigtige version af Docker til WSL 2, kan du støde på nogle almindelige fejl, f.eks, Kan ikke oprette forbindelse til Docker-dæmonen på tcp://localhost:2375", "Kører Docker-dæmonen?osv. I de fleste tilfælde vil du miste tid, hvis du ikke ved, at du skal gå nye veje for at løse disse fejl. For at gøre dette skal du først fjerne Docker helt fra WSL og Windows, hvilket ikke er et indlysende skridt.

Det mest almindelige eksempel på ikke-fjernede rester er den gamle Docker-tilgang til at indstille miljøvariablen DOCKER_HOST=tcp://localhost:2375 under WSL 1 for at samarbejde med Windows Docker-indstillingen Udsæt daemon på tcp://localhost:2375 uden TLS.

Hvordan fjerner man Docker helt fra WSL (Ubuntu)?

  1. Som den officielle Docker Dokumenter siger:

sudo apt-get remove docker docker-engine docker.io containerd runc

Du kan helt sikkert tilføje til denne liste docker-ce og docker-ce-cli.

  1. Identificer alle docker-pakker, du har, med dpkg -l | grep -i docker og fjerne dem, hvis de stadig findes.
  2. Fjern alle rester:
sudo rm -rf /var/lib/docker /etc/docker /etc/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker

sudo groupdel docker ~/.docker

  1. Dette trin er for avancerede brugere, så vær forsigtig. Du behøver sandsynligvis ikke at gøre det.

Find alle docker ordforekomster, og fjern dem, du er sikker på.

sudo find / -name "*docker*"

  1. Tjek indholdet af alle nedenstående filer for docker forekomster som f.eks. miljøvariabel DOCKER_HOST=tcp://localhost:2375.

Du kan redigere disse filer med Nano-editoren, nano ~/.bashrceller Visual Studio Code, kode ~/.bashrc.

~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/.profile
/etc/bash.bashrc
/etc/profile

Hvordan fjerner man Docker helt fra Windows?

  1. Afinstaller på normal vis med Windows Apps og funktioner panel.
  2. Fjern alt nedenfor, hvis det findes:
C:Program FilesDocker
C:ProgramDataDockerDesktop
C:Users[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop

Hvad bliver det næste?

Installer den nyeste version af Docker Desktop Edge fra her og følg trinene fra den officielle Dokumenter. Det handler i virkeligheden om nogle få klik.

Hvis alt går godt, bør du have dit output fra wsl -l -v sådan her:

  NAVN TILSTAND VERSION
  Ubuntu-18.04 Kører 2
  docker-desktop Kører 2
  docker-desktop-data Kører 2

Det var det hele. Docker har skabt sine egne WSL-containere docker-desktop og docker-desktop-data. Nogle af de tilgængelige vejledninger eller råd kan være forvirrende, fordi denne gang du bør ikke installere eller konfigurere noget, der er relateret til Docker, under din WSL Linux-distribution. Det er meget vigtigt at huske. Efter rengøringen skal den fungere godt med det samme.

Derudover...

Opsætning af WSL 2 med Docker kan være en smertefri proces med et par enkle trin. Begynd med at opdatere Pakkelister ved hjælp af kommandoen "sudo apt-get update" for at sikre, at du har de nyeste versionsoplysninger. Løs eventuelle manglende afhængigheder med "sudo apt-get install -y build-essential" for at få en problemfri installationsoplevelse. Installer Docker-motor med "sudo apt-get install -y docker-engine" for nemt at bygge, køre og administrere containere. Udfør "sudo docker run" efterfulgt af image-navnet for at starte containere. For at holde dit miljø optimeret skal du med jævne mellemrum køre "sudo docker system prune" for at fjerne ubrugte containere og frigøre diskplads. Med disse trin kan du nyde godt af den problemfri integration af WSL 2 og Docker til effektiv containerisering i dit udviklingsworkflow.

Relaterede artikler

Udvikling af software

Byg fremtidssikrede webapps: Indsigt fra The Codest's ekspertteam

Oplev, hvordan The Codest udmærker sig ved at skabe skalerbare, interaktive webapplikationer med banebrydende teknologier, der leverer sømløse brugeroplevelser på tværs af alle platforme. Lær, hvordan vores ekspertise driver digital transformation og...

DENKODEST
Udvikling af software

Top 10 Letlands-baserede softwareudviklingsvirksomheder

Læs om Letlands bedste softwareudviklingsvirksomheder og deres innovative løsninger i vores seneste artikel. Find ud af, hvordan disse teknologiledere kan hjælpe med at løfte din virksomhed.

thecodest
Løsninger til virksomheder og scaleups

Grundlæggende om Java-softwareudvikling: En guide til succesfuld outsourcing

Udforsk denne vigtige guide til vellykket outsourcing af Java-softwareudvikling for at forbedre effektiviteten, få adgang til ekspertise og skabe projektsucces med The Codest.

thecodest
Udvikling af software

Den ultimative guide til outsourcing i Polen

Den voldsomme stigning i outsourcing i Polen er drevet af økonomiske, uddannelsesmæssige og teknologiske fremskridt, der fremmer it-vækst og et erhvervsvenligt klima.

TheCodest
Løsninger til virksomheder og scaleups

Den komplette guide til IT-revisionsværktøjer og -teknikker

IT-revisioner sikrer sikre, effektive og kompatible systemer. Lær mere om deres betydning ved at læse hele artiklen.

Codest
Jakub Jakubowicz CTO og medstifter

Tilmeld dig vores vidensbase, og hold dig opdateret om ekspertisen fra it-sektoren.

    Om os

    The Codest - International softwareudviklingsvirksomhed med tech-hubs i Polen.

    Storbritannien - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologiske knudepunkter

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Hjerneambassaden, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hjem
    • Om os
    • Serviceydelser
    • Casestudier
    • Ved hvordan
    • Karriere
    • Ordbog

      Serviceydelser

    • Det rådgivende
    • Udvikling af software
    • Backend-udvikling
    • Frontend-udvikling
    • Staff Augmentation
    • Backend-udviklere
    • Cloud-ingeniører
    • Dataingeniører
    • Andet
    • QA-ingeniører

      Ressourcer

    • Fakta og myter om at samarbejde med en ekstern softwareudviklingspartner
    • Fra USA til Europa: Hvorfor beslutter amerikanske startups sig for at flytte til Europa?
    • Sammenligning af Tech Offshore-udviklingsknudepunkter: Tech Offshore Europa (Polen), ASEAN (Filippinerne), Eurasien (Tyrkiet)
    • Hvad er de største udfordringer for CTO'er og CIO'er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Vilkår for brug af hjemmesiden

    Copyright © 2025 af The Codest. Alle rettigheder forbeholdes.

    da_DKDanish
    en_USEnglish de_DEGerman sv_SESwedish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek da_DKDanish