window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes 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 vei til WSL 2 med Docker - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2020-01-21
Programvareutvikling

Smertefri vei til WSL 2 med Docker

Lukasz Kolko

Ved å introdusere Windows Subsystem for Linux (WSL) ga Microsoft utviklere muligheten til å kjøre et GNU/Linux-miljø direkte på Windows, uten å måtte bruke en virtuell maskin. Dette er en flott løsning fordi mange utviklere bruker ett system til programmering og et annet til underholdning.

WSL er fortsatt under utvikling, men er for øyeblikket egnet for moderne programvareutviklingbåde i den første og den andre versjonen. Når man blar gjennom problemene og spørsmålene som er rapportert på internett, ser det ut til at de fleste av dem gjelder integrasjonen av WSL med Docker, spesielt når det gjelder oppgradering fra WSL 1 til WSL 2.

Denne artikkelen vil fjerne alle uklarheter og hjelpe deg med å komme deg smertefritt gjennom denne prosessen. Hvis du ikke har WSL 1 og ønsker å ha WSL 2 med Docker, kan du hoppe rett til siste kapittel.

Hva vil du tjene på det?

- Den nyeste, stabile Linux-kjernen (justert av Microsoft). WSL 1 har et Linux-kompatibelt kjernegrensesnitt uten Linux-kjernen kode.

- Økt ytelse ved fil-IO. Opptil 20 ganger raskere sammenlignet med WSL 1 ved utpakking av en zippet tarball, rundt 2-5 ganger raskere ved bruk av git-klone, npm-installasjon og cmake på ulike prosjekter.

- Full kompatibilitet med systemkall. Linux-binærfiler bruker systemkall for å utføre mange funksjoner, for eksempel tilgang til filer, be om minne, opprette prosesser og mye mer. Mens WSL 1 brukte et oversettelseslag bygget av WSL teamWSL 2 inkluderer sin egen Linux-kjerne med full kompatibilitet med systemkall.

- Filer som er lagret i en opprinnelig ext4-partisjon på en virtuell disk.

- Veldig enkel måte å integrere med Docker på.

For de fleste brukere høres nok fil-IO-ytelsen og enkel docker-integrasjon ut som tilstrekkelige grunner.

Kom igjen!

Jeg antar at du har den nyeste stabile versjonen av Windows 10 Pro. I dag er det 1909-utgaven.

Bli med Windows-innsidere

For øyeblikket er WSL 2 bare tilgjengelig for Windows 10 i insiders' slow ring. Så vidt jeg vet, skal den stabile versjonen være tilgjengelig i mai 2020 (20H1-utgivelsen). Den langsomme ringen er en ganske trygg løsning for brukere som vil ha nye funksjoner litt tidligere, som allerede er forhåndstestet av brukere av den raske ringen. Den langsomme ringen får systemoppdateringer opptil en eller to ganger i måneden. Du kan lese om endringer i innsidere i Microsoft-dokumentet kalt Flight Hub.

For å bli med, følg den offisielle Microsoft guide. Det er veldig enkelt og tar omtrent 15 minutter uten at du mister noen personlige data.

Oppgrader WSL 1 til WSL 2

Følg den offisielle guide. Det er også veldig enkelt, et par skallkommandoer, og så er du i gang! Avhengig av hvor omfattende Linux under WSL 1 var, kan dette ta litt tid. Dessverre har Microsoft ikke lagt inn noen fremdriftsindikator eller informasjon om hvor lang tid det tar, så det er bare å smøre seg med tålmodighet.

Rydde opp

Dette er den viktigste delen for riktig samarbeid mellom WSL 2 og Docker. Etter å ha oppgradert til WSL 2, prøver mange brukere å tvinge sin versjon av Docker til å samarbeide uten å innse at Docker-teamet, spesielt for WSL 2, har forberedt en utgivelse som vil gjøre alt for oss. Dette er den siste utgivelsen av Docker Edge-versjonen (deres betanavn) - "Docker Desktop WSL 2 backend". Denne versjonen, 2.1.7.0, er en velpolert og er en kandidat for den kommende stabile utgivelsen.

Brukere som ikke hadde WSL 1 eller nettopp har installert en ny versjon av WSL 2, er heldige og kan hoppe til siste kapittel med en gang.

Hvis du ikke har rengjort Docker (i det hele tatt eller på riktig måte) og ikke har installert riktig versjon av Docker for WSL 2, kan du støte på noen vanlige feil, f.eks, Kan ikke koble til Docker-dæmonen på tcp://localhost:2375", "Kjører Docker-dæmonenosv. I de fleste tilfeller vil du tape tid hvis du ikke vet at du må gå frem på en ny måte for å prøve å løse disse feilene. For å gjøre dette må du først fjerne Docker helt fra WSL og Windows, noe som ikke er et opplagt trinn.

Det vanligste eksemplet på rester som ikke er fjernet, er den gamle Docker-metoden for å angi miljøvariabelen DOCKER_HOST=tcp://localhost:2375 under WSL 1 for å samarbeide med Windows Docker-alternativet Eksponere daemon på tcp://localhost:2375 uten TLS.

Hvordan fjerner jeg Docker helt fra WSL (Ubuntu)?

  1. Som den offisielle Docker dokumenter ...si:

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

Du kan helt sikkert legge til denne listen docker-ce og docker-ce-cli.

  1. Identifiser alle docker-pakker du har med dpkg -l | grep -i docker og fjerne hvis det fortsatt finnes noen.
  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 trinnet er for avanserte brukere, så vær forsiktig. Sannsynligvis trenger du ikke å gjøre det.

Finn alle dokker ordforekomster og fjern de du er sikker på.

sudo find / -name "*docker*"

  1. Sjekk innholdet i alle filene nedenfor for dokker forekomster som f.eks. miljøvariabel DOCKER_HOST=tcp://localhost:2375.

Du kan redigere disse filene med Nano-redigeringsprogrammet, nano ~/.bashrc, eller Visual Studio Code, kode ~/.bashrc.

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

Hvordan fjerner jeg Docker helt fra Windows?

  1. Avinstaller på vanlig måte med Windows Apper og funksjoner panel.
  2. Fjern alt nedenfor hvis det finnes:
C:Program FilesDocker
C:ProgramDataDockerDesktop
C:Users[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop

Hva blir det neste?

Installer den nyeste versjonen av Docker Desktop Edge fra her og følg trinnene fra den offisielle dokumenter. Det handler egentlig bare om noen få klikk.

Hvis alt går bra, bør du få utdataene dine fra wsl -l -v som dette:

  NAVN TILSTAND VERSJON
  Ubuntu-18.04 Kjører 2
  docker-desktop Kjører 2
  docker-desktop-data Kjører 2

Det er alt. Docker har laget sine egne WSL-containere docker-desktop og docker-desktop-data. Noen av de tilgjengelige veiledningene eller rådene kan være forvirrende fordi denne gangen du bør ikke installere eller konfigurere noe relatert til Docker under din WSL Linux-distribusjon. Det er veldig viktig å huske. Etter rengjøringen skal den fungere godt med en gang.

I tillegg...

Det er en smertefri prosess å sette opp WSL 2 med Docker ved hjelp av noen få enkle trinn. Begynn med å oppdatere pakkelister ved hjelp av kommandoen "sudo apt-get update" for å sikre at du har den nyeste versjonsinformasjonen. Løs eventuelle manglende avhengigheter med "sudo apt-get install -y build-essential" for en smidig installasjonsopplevelse. Installere Docker-motor med "sudo apt-get install -y docker-engine" for å bygge, kjøre og administrere containere på en enkel måte. Kjør "sudo docker run" etterfulgt av avbildningsnavnet for å starte containere. For å holde miljøet optimalisert kan du med jevne mellomrom kjøre "sudo docker system prune" for å fjerne ubrukte containere og frigjøre diskplass. Med disse trinnene kan du dra nytte av den sømløse integreringen av WSL 2 og Docker for effektiv containerisering i utviklingsarbeidsflyten.

Relaterte artikler

Programvareutvikling

Bygg fremtidssikre webapper: Innsikt fra The Codests ekspertteam

Oppdag hvordan The Codest utmerker seg når det gjelder å skape skalerbare, interaktive webapplikasjoner med banebrytende teknologi som gir sømløse brukeropplevelser på tvers av alle plattformer. Finn ut hvordan ekspertisen vår driver digital transformasjon og...

THECODEST
Programvareutvikling

Topp 10 Latvia-baserte programvareutviklingsselskaper

I vår nyeste artikkel kan du lese mer om Latvias beste programvareutviklingsselskaper og deres innovative løsninger. Oppdag hvordan disse teknologilederne kan bidra til å løfte virksomheten din.

thecodest
Løsninger for bedrifter og oppskalering

Grunnleggende om Java-programvareutvikling: En guide til vellykket outsourcing

Utforsk denne viktige veiledningen om vellykket outsourcing av Java-programvareutvikling for å øke effektiviteten, få tilgang til ekspertise og drive frem prosjektsuksess med The Codest.

thecodest
Programvareutvikling

Den ultimate guiden til outsourcing i Polen

Den kraftige økningen i outsourcing i Polen er drevet av økonomiske, utdanningsmessige og teknologiske fremskritt, noe som fremmer IT-vekst og et forretningsvennlig klima.

TheCodest
Løsninger for bedrifter og oppskalering

Den komplette guiden til verktøy og teknikker for IT-revisjon

IT-revisjoner sørger for sikre, effektive og kompatible systemer. Les hele artikkelen for å lære mer om viktigheten av dem.

The Codest
Jakub Jakubowicz CTO og medgrunnlegger

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

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

    Polen - Lokale teknologisentre

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

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

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