window.pipedriveLeadboosterConfig = { bas: 'leadbooster-chat.pipedrive.com', företagId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = fönster if (w.LeadBooster) { console.warn('LeadBooster finns redan') } annars { w.LeadBooster = { q: [], on: funktion (n, h) { this.q.push({ t: "o", n: n, h: h }) }, trigger: funktion (n) { this.q.push({ t: 't', n: n }) }, } } })() Smärtfri väg till WSL 2 med Docker - The Codest
Codest
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Industrier
    • Fintech & bankverksamhet
    • E-commerce
    • Adtech
    • Hälsoteknik
    • Tillverkning
    • Logistik
    • Fordon
    • IOT
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
  • Om oss
  • Tjänster
    • Utveckling av programvara
      • Frontend-utveckling
      • Backend-utveckling
    • Staff Augmentation
      • Frontend-utvecklare
      • Backend-utvecklare
      • Dataingenjörer
      • Ingenjörer inom molntjänster
      • QA-ingenjörer
      • Övriga
    • Det rådgivande
      • Revision och rådgivning
  • Värde för
    • VD OCH KONCERNCHEF
    • CTO
    • Leveranschef
  • Vårt team
  • Fallstudier
  • Vet hur
    • Blogg
    • Möten
    • Webbinarier
    • Resurser
Karriär Ta kontakt med oss
Pil tillbaka GÅ TILLBAKA
2020-01-21
Utveckling av programvara

Smärtfri väg till WSL 2 med Docker

Lukasz Kolko

Genom att introducera Windows Subsystem for Linux (WSL) gav Microsoft utvecklare möjlighet att köra en GNU/Linux-miljö direkt på Windows, oförändrad, utan att behöva använda en virtuell maskin. Det här är en bra lösning eftersom många utvecklare använder ett system för programmering och ett annat för underhållning.

WSL är fortfarande under utveckling, men det är för närvarande lämpligt för moderna Utveckling av programvara, både i den första och den andra versionen. Genom att bläddra igenom de problem och frågor som rapporterats på internet verkar de flesta av dem beröra integrationen av WSL med Docker, särskilt när det gäller uppgradering från WSL 1 till WSL 2.

Den här artikeln kommer att skingra alla tvetydigheter och hjälpa dig att komma igenom denna process smärtfritt. Om du inte har WSL 1 och du vill ha WSL 2 med Docker kan du hoppa direkt till det sista kapitlet.

Vad får du ut av det?

- Den senaste stabila Linux-kärnan (trimmad av Microsoft). WSL 1 har ett Linux-kompatibelt kärngränssnitt utan Linux-kärnan kod.

- Ökad prestanda för fil-IO. Upp till 20x snabbare jämfört med WSL 1 vid uppackning av en zippad tarball, cirka 2-5x snabbare vid användning av git-klon, npm-installation och cmake på olika projekt.

- Fullständig kompatibilitet med systemanrop. Linux-binärfiler använder systemanrop för att utföra många funktioner, som att komma åt filer, begära minne, skapa processer och mycket mer. Medan WSL 1 använde ett översättningslager som byggdes av WSL TeamWSL 2 innehåller en egen Linux-kärna med full kompatibilitet med systemanrop.

- Filer som lagras i en inbyggd ext4-partition på en virtuell disk.

- Mycket enkelt sätt att integrera med Docker.

Jag tror att för de flesta användare låter fil IO-prestanda och enkel dockerintegration som tillräckliga skäl.

Kom igen, nu kör vi!

Jag antar att du har den senaste stabila versionen av Windows 10 Pro. När det gäller idag är det 1909-utgåvan.

Gå med i Windows insiders

För närvarande är WSL 2 endast tillgängligt för Windows 10 i insiders' slow ring. Såvitt jag vet bör den stabila versionen finnas tillgänglig i maj 2020 (20H1-utgåvan). Den långsamma ringen är en ganska säker lösning för användare som vill ha nya funktioner lite tidigare, redan förtestade av användare av snabb ring. Den långsamma ringen får systemuppdateringar upp till en eller två gånger i månaden. Du kan läsa om insiders release-ändringar i Microsoft-dokumentet som heter Flygnav.

För att gå med följer du bara Microsofts officiella guide. Det är mycket enkelt och tar cirka 15 minuter utan att några personuppgifter går förlorade.

Uppgradering av WSL 1 till WSL 2

Följ den officiella guide. Det är också mycket enkelt, ett par skalkommandon och så är du igång! Beroende på hur omfattande din Linux under WSL 1 var kan detta ta lite tid. Tyvärr har Microsoft inte lagt in någon progressbar eller information om tidsåtgången, så det är bara att ha tålamod.

Städa upp

Detta är den viktigaste delen för korrekt samarbete mellan WSL 2 och Docker. Efter uppgradering till WSL 2 försöker många användare tvinga sin version av Docker att samarbeta utan att inse att Docker-teamet, särskilt för WSL 2, har förberett en release som kommer att göra allt för oss. Detta är den sista utgåvan av Docker Edge-versionen (deras betanamn) - "Docker Desktop WSL 2 backend". Denna version, 2.1.7.0, är en välpolerad och är en kandidat för den kommande stabila utgåvan.

Användare som inte hade WSL 1 eller just har installerat en ny version av WSL 2 har tur och kan omedelbart hoppa till det sista kapitlet.

Om du inte har rensat din Docker (alls eller korrekt) och inte har installerat rätt version av Docker för WSL 2, kan du stöta på några vanliga fel, t.ex, Det går inte att ansluta till Docker-daemon på tcp://localhost:2375", "Körs Docker-daemonosv. I de flesta fall kommer du att förlora tid om du inte vet att du måste ta ett nytt tillvägagångssätt för att försöka lösa dessa fel. För att göra detta måste du först helt ta bort Docker från WSL och Windows, vilket inte är ett uppenbart steg.

Det vanligaste exemplet på rester som inte tagits bort är den gamla Docker-metoden att ställa in miljövariabeln DOCKER_HOST=tcp://localhost:2375 under WSL 1 för att samarbeta med Windows Docker-alternativet Exponera daemon på tcp://localhost:2375 utan TLS.

Hur tar man bort Docker helt från WSL (Ubuntu)?

  1. Som den officiella Docker Dokument säga:

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

Säkert kan du lägga till denna lista docker-ce och docker-ce-cli.

  1. Identifiera alla dockerpaket som du har med dpkg -l | grep -i docker och ta bort om det fortfarande finns några kvar.
  2. Ta bort alla 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. Det här steget är för avancerade användare, så var försiktig. Förmodligen behöver du inte göra det.

Hitta alla Docka ord förekomster och ta bort de som du är säker på.

sudo hitta / -namn "*docker*"

  1. Kontrollera innehållet i alla filer nedan för Docka förekomster som t.ex. miljövariabel DOCKER_HOST=tcp://localhost:2375.

Du kan redigera dessa filer med Nano-redigeraren, nano ~/.bashrceller Visual Studio Code, kod ~/.bashrc.

~/.bashrc
~/.bash_aliaser
~/.bash_profile
~/.bash_login
~/.profil
/etc/bash.bashrc
/etc/profile

Hur man helt tar bort Docker från Windows?

  1. Avinstallera på vanligt sätt med Windows Appar och funktioner panel.
  2. Ta bort allt nedan om det finns:
C:ProgramfilerDocker
C:ProgramDataDockerDesktop
C:Användare[USERNAME].docker
C:Users[USERNAME]AppDataLocalDocker
C:Users[USERNAME]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Skrivbord

Vad händer härnäst?

Installera den senaste versionen av Docker Desktop Edge från här och följ stegen från den officiella Dokument. Det handlar egentligen bara om några få klick.

Om allt går bra bör du ha din utgång från wsl -l -v ...så här:

  NAMN TILLSTÅND VERSION
  Ubuntu-18.04 Körs 2
  docker-desktop Löpande 2
  docker-desktop-data Körs 2

Det är allt. Docker har skapat sina egna WSL-containrar docker-desktop och docker-desktop-data. Vissa av de tillgängliga handledningarna eller råden kan vara förvirrande eftersom den här gången du bör inte installera eller konfigurera något som är relaterat till Docker under din WSL Linux-distribution. Det är mycket viktigt att komma ihåg. Efter rengöringen ska den fungera bra direkt.

Dessutom...

Att konfigurera WSL 2 med Docker kan vara en smärtfri process med några enkla steg. Börja med att uppdatera paketlistor med hjälp av kommandot "sudo apt-get update" för att säkerställa att du har den senaste versionsinformationen. Lös eventuella saknade beroenden med "sudo apt-get install -y build-essential" för en smidig installationsupplevelse. Installera Docker-motor med "sudo apt-get installera -y docker-engine" för att enkelt bygga, köra och hantera containrar. Kör "sudo docker run" följt av avbildningens namn för att starta behållare. För att hålla din miljö optimerad kan du regelbundet köra "sudo docker system prune" för att ta bort oanvända behållare och frigöra diskutrymme. Med dessa steg kan du njuta av den sömlösa integrationen av WSL 2 och Docker för effektiv containerisering i ditt utvecklingsarbetsflöde.

Relaterade artiklar

Utveckling av programvara

Bygg framtidssäkrade webbappar: Insikter från The Codest:s expertteam

Upptäck hur The Codest utmärker sig genom att skapa skalbara, interaktiva webbapplikationer med banbrytande teknik som ger sömlösa användarupplevelser på alla plattformar. Läs om hur vår expertis driver digital omvandling och affärsutveckling...

DEKODEST
Utveckling av programvara

Topp 10 Lettlandsbaserade mjukvaruutvecklingsföretag

Läs mer om Lettlands främsta mjukvaruutvecklingsföretag och deras innovativa lösningar i vår senaste artikel. Upptäck hur dessa teknikledare kan hjälpa till att lyfta ditt företag.

thecodest
Lösningar för företag och uppskalningsföretag

Java Software Development Essentials: En guide till framgångsrik outsourcing

Utforska denna viktiga guide om framgångsrik outsourcing av Java-programvaruutveckling för att förbättra effektiviteten, få tillgång till expertis och driva projektframgång med The Codest.

thecodest
Utveckling av programvara

Den ultimata guiden till outsourcing i Polen

Den kraftiga ökningen av outsourcing i Polen drivs av ekonomiska, utbildningsmässiga och tekniska framsteg, vilket främjar IT-tillväxt och ett företagsvänligt klimat.

TheCodest
Lösningar för företag och uppskalningsföretag

Den kompletta guiden till verktyg och tekniker för IT-revision

IT-revisioner säkerställer säkra, effektiva och kompatibla system. Läs mer om hur viktiga de är genom att läsa hela artikeln.

Codest
Jakub Jakubowicz CTO och medgrundare

Prenumerera på vår kunskapsbas och håll dig uppdaterad om expertisen från IT-sektorn.

    Om oss

    The Codest - Internationellt mjukvaruutvecklingsföretag med teknikhubbar i Polen.

    Förenade kungariket - Huvudkontor

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

    Polen - Lokala tekniknav

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

      Codest

    • Hem
    • Om oss
    • Tjänster
    • Fallstudier
    • Vet hur
    • Karriär
    • Ordbok

      Tjänster

    • Det rådgivande
    • Utveckling av programvara
    • Backend-utveckling
    • Frontend-utveckling
    • Staff Augmentation
    • Backend-utvecklare
    • Ingenjörer inom molntjänster
    • Dataingenjörer
    • Övriga
    • QA-ingenjörer

      Resurser

    • Fakta och myter om att samarbeta med en extern partner för mjukvaruutveckling
    • Från USA till Europa: Varför väljer amerikanska startup-företag att flytta till Europa?
    • Jämförelse av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinerna), Eurasien (Turkiet)
    • Vilka är de största utmaningarna för CTO:er och CIO:er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Användarvillkor för webbplatsen

    Copyright © 2025 av The Codest. Alla rättigheter reserverade.

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