window.pipedriveLeadboosterConfig = { basis: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versie: 2, } ;(functie () { var w = venster als (w.LeadBooster) { console.warn('LeadBooster bestaat al') } anders { w.LeadBooster = { q: [], on: functie (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: functie (n) { this.q.push({ t: 't', n: n }) }, } } })() Pijnloze weg naar WSL 2 met Docker - The Codest
The Codest
  • Over ons
  • Diensten
    • Software Ontwikkeling
      • Frontend ontwikkeling
      • Backend ontwikkeling
    • Staff Augmentation
      • Frontend ontwikkelaars
      • Backend ontwikkelaars
      • Gegevensingenieurs
      • Cloud Ingenieurs
      • QA ingenieurs
      • Andere
    • Het advies
      • Audit & Consulting
  • Industrie
    • Fintech & Bankieren
    • E-commerce
    • Adtech
    • Gezondheidstechnologie
    • Productie
    • Logistiek
    • Automotive
    • IOT
  • Waarde voor
    • CEO
    • CTO
    • Leveringsmanager
  • Ons team
  • Case Studies
  • Weten hoe
    • Blog
    • Ontmoetingen
    • Webinars
    • Bronnen
Carrière Neem contact op
  • Over ons
  • Diensten
    • Software Ontwikkeling
      • Frontend ontwikkeling
      • Backend ontwikkeling
    • Staff Augmentation
      • Frontend ontwikkelaars
      • Backend ontwikkelaars
      • Gegevensingenieurs
      • Cloud Ingenieurs
      • QA ingenieurs
      • Andere
    • Het advies
      • Audit & Consulting
  • Waarde voor
    • CEO
    • CTO
    • Leveringsmanager
  • Ons team
  • Case Studies
  • Weten hoe
    • Blog
    • Ontmoetingen
    • Webinars
    • Bronnen
Carrière Neem contact op
Pijl terug KEREN TERUG
2020-01-21
Software Ontwikkeling

Pijnloze weg naar WSL 2 met Docker

Lukasz Kolko

Door het Windows Subsystem for Linux (WSL) te introduceren, gaf Microsoft ontwikkelaars de mogelijkheid om een GNU/Linux omgeving direct op Windows te draaien, ongewijzigd, zonder de overhead van een virtuele machine. Dit is een geweldige oplossing omdat veel ontwikkelaars het ene systeem gebruiken voor programmeren en het andere voor entertainment.

WSL wordt nog steeds ontwikkeld, maar is momenteel geschikt voor moderne softwareontwikkelingzowel in de eerste als in de tweede versie. Bladerend door de problemen en vragen die op het internet zijn gemeld, lijken de meeste betrekking te hebben op de integratie van WSL met Docker, vooral als het gaat om het upgraden van WSL 1 naar WSL 2.

Dit artikel zal alle onduidelijkheden wegnemen en je helpen om dit proces pijnloos te doorlopen. Als je WSL 1 niet hebt en je wilt WSL 2 met Docker, dan kun je meteen naar het laatste hoofdstuk springen.

Wat win je ermee?

- Echte laatste stabiele Linux kernel (getuned door Microsoft). WSL 1 heeft een Linux-compatibele kernelinterface zonder de Linux-kernel code.

- Verbeterde bestands IO prestaties. Tot 20x sneller vergeleken met WSL 1 bij het uitpakken van een gezipte tarball, ongeveer 2-5x sneller bij het gebruik van git kloon, npm installeren en cmake aan verschillende projecten.

- Volledige compatibiliteit met systeemaanroepen. Linux binaire bestanden gebruiken systeemaanroepen om veel functies uit te voeren, zoals bestanden openen, geheugen opvragen, processen aanmaken en nog veel meer. Terwijl WSL 1 een vertaallaag gebruikte die gebouwd was door de WSL teamWSL 2 bevat zijn eigen Linux kernel met volledige compatibiliteit met systeemaanroepen.

- Bestanden die zijn opgeslagen in een native ext4-partitie op een virtuele schijf.

- Zeer eenvoudige manier om te integreren met Docker.

Ik denk dat voor de meeste gebruikers de bestands-IO prestaties en de gemakkelijke docker integratie als voldoende redenen klinken.

Laten we gaan!

Ik neem aan dat je de laatste stabiele versie van Windows 10 Pro hebt. Voor vandaag is dat versie 1909.

Sluit je aan bij Windows insiders

Momenteel is WSL 2 alleen beschikbaar voor Windows 10 in de insiders' slow ring. Voor zover ik weet, zou de stabiele versie in mei 2020 beschikbaar moeten zijn (20H1 release). De langzame ring is een veilige oplossing voor gebruikers die iets eerder over nieuwe functies willen beschikken, die al vooraf zijn getest door gebruikers van de snelle ring. De langzame ring krijgt tot een of twee keer per maand systeemupdates. Je kunt meer lezen over de wijzigingen in de insiders-release in het Microsoft-document genaamd Vlieg hub.

Volg de officiële Microsoft gids. Het is heel eenvoudig en duurt ongeveer 15 minuten zonder verlies van persoonlijke gegevens.

WSL 1 upgraden naar WSL 2

Volg de officiële gids. Het is ook erg makkelijk, een paar shell commando's en je bent er! Afhankelijk van hoe uitgebreid je Linux onder WSL 1 was, kan dit even duren. Helaas heeft Microsoft geen voortgangsbalk of informatie over de benodigde tijd geplaatst, dus wees geduldig.

Opruimen

Dit is het belangrijkste onderdeel voor een goede samenwerking tussen WSL 2 en Docker. Na het upgraden naar WSL 2 proberen veel gebruikers hun versie van Docker te dwingen om samen te werken zonder zich te realiseren dat het Docker-team, speciaal voor WSL 2, een release heeft voorbereid die alles voor ons zal doen. Dit is de laatste release van de Docker Edge-versie (hun bèta-naam) - "Docker Desktop WSL 2 backend". Deze versie, 2.1.7.0, is goed gepolijst en is een kandidaat voor de komende stabiele release.

Gebruikers die WSL 1 niet hebben gehad of net een nieuwe versie van WSL 2 hebben geïnstalleerd, hebben geluk en kunnen meteen door naar het laatste hoofdstuk.

Als je je Docker niet hebt schoongemaakt (helemaal niet of niet correct) en niet de juiste versie van Docker voor WSL 2 hebt geïnstalleerd, kun je een aantal veelvoorkomende fouten tegenkomen, bijv, Kan geen verbinding maken met de Docker-daemon op tcp://localhost:2375", "Draait de Docker-daemon wel?enz. In de meeste gevallen verlies je tijd als je niet weet dat je een nieuwe aanpak moet kiezen om deze fouten op te lossen. Om dit te doen, moet je eerst Docker volledig verwijderen van WSL en Windows, wat geen voor de hand liggende stap is.

Het meest voorkomende voorbeeld van niet-verwijderde overblijfselen is de oude Docker-aanpak om de omgevingsvariabele in te stellen DOCKER_HOST=tcp://localhost:2375 onder WSL 1 voor samenwerking met Windows Docker optie Daemon blootstellen aan tcp://localhost:2375 zonder TLS.

Hoe Docker volledig verwijderen van WSL (Ubuntu)?

  1. Als de officiële Docker docs zeggen:

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

Je kunt deze lijst zeker aanvullen met docker-ce en docker-ce-cli.

  1. Identificeer alle dockerpakketten die je hebt met dpkg -l | grep -i docker en verwijder ze als ze nog bestaan.
  2. Verwijder alle resten:
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. Deze stap is voor gevorderde gebruikers, dus wees voorzichtig. Waarschijnlijk hoef je dit niet te doen.

Vind alle dokwerker woord voorvallen en verwijder degene waar je zeker van bent.

sudo find / -naam "*docker*"

  1. Controleer de inhoud van alle bestanden hieronder voor dokwerker voorvallen zoals bijv. omgevingsvariabele DOCKER_HOST=tcp://localhost:2375.

Je kunt deze bestanden bewerken met de Nano-editor, nano ~/.bashrcof Visual Studio Code, code ~/.bashrc.

~/.bashrc
~/.bash_aliases
~/.bash_profiel
~/.bash_login
~/.profile
/etc/bash.bashrc
/etc/profiel

Hoe Docker volledig verwijderen uit Windows?

  1. De-installeren op de normale manier met Windows Apps en functies paneel.
  2. Verwijder alles hieronder als het bestaat:
C:ProgrammaDocker
C:ProgrammaDataDockerDesktop
C:Gebruikers[USERNAME].docker
C:Gebruikers[USERNAME]AppDataLokaalDocker
C:Gebruikers[USERNAME]AppDataRoamingDocker
C:Gebruikers[USERNAME]AppDataRoamingDocker Desktop

Wat is de volgende stap?

Installeer de nieuwste versie van Docker Desktop Edge vanaf hier en volg de stappen van de officiële docs. Het komt echt neer op een paar klikken.

Als alles goed gaat, zou je de uitvoer van wsl -l -v zoals dit:

  NAAM STAAT VERSIE
  Ubuntu-18.04 Loopt 2
  docker-desktop Loopt 2
  docker-desktop-data Loopt 2

Dat is alles. Docker heeft zijn eigen WSL-containers gemaakt docker-desktop en docker-desktop-data. Sommige van de beschikbare tutorials of adviezen kunnen verwarrend zijn omdat deze keer je zou niets gerelateerd aan Docker moeten installeren of configureren onder je WSL Linux distributie. Het is heel belangrijk om te onthouden. Na het schoonmaken moet het meteen goed werken.

Daarnaast...

Het instellen van WSL 2 met Docker kan een pijnloos proces zijn met een paar eenvoudige stappen. Begin met het bijwerken van pakketlijsten met de opdracht "sudo apt-get update" om er zeker van te zijn dat je de laatste versie informatie hebt. Los ontbrekende afhankelijkheden op met "sudo apt-get install -y build-essential" voor een soepele installatie. Installeer Docker-engine met "sudo apt-get install -y docker-engine"om moeiteloos containers te bouwen, uit te voeren en te beheren. Voer "sudo docker run" uit gevolgd door de image naam om containers te starten. Om je omgeving geoptimaliseerd te houden, voer je regelmatig "sudo docker system prune" uit om ongebruikte containers te verwijderen en schijfruimte vrij te maken. Met deze stappen kun je genieten van de naadloze integratie van WSL 2 en Docker voor efficiënte containerisatie in je ontwikkelworkflow.

Verwante artikelen

Software Ontwikkeling

Bouw Toekomstbestendige Web Apps: Inzichten van The Codest's Expert Team

Ontdek hoe The Codest uitblinkt in het creëren van schaalbare, interactieve webapplicaties met geavanceerde technologieën, het leveren van naadloze gebruikerservaringen op alle platforms. Ontdek hoe onze expertise digitale transformatie en business...

DE BESTE
Software Ontwikkeling

Top 10 in Letland gevestigde bedrijven voor softwareontwikkeling

Lees meer over de beste softwareontwikkelingsbedrijven van Letland en hun innovatieve oplossingen in ons nieuwste artikel. Ontdek hoe deze technologieleiders uw bedrijf kunnen helpen verbeteren.

thecodest
Oplossingen voor ondernemingen en schaalvergroting

Essentiële Java-softwareontwikkeling: Een gids voor succesvol uitbesteden

Verken deze essentiële gids over succesvolle outsourcing Java-softwareontwikkeling om de efficiëntie te verbeteren, toegang te krijgen tot expertise en projectsucces te stimuleren met The Codest.

thecodest
Software Ontwikkeling

De ultieme gids voor outsourcing in Polen

De sterke groei van outsourcing in Polen wordt gedreven door economische, educatieve en technologische vooruitgang, die IT-groei en een bedrijfsvriendelijk klimaat stimuleert.

DeCodest
Oplossingen voor ondernemingen en schaalvergroting

De complete gids voor IT-auditmiddelen en -technieken

IT-audits zorgen voor veilige, efficiënte en compliant systemen. Lees het volledige artikel om meer te weten te komen over het belang ervan.

The Codest
Jakub Jakubowicz CTO & medeoprichter

Abonneer je op onze kennisbank en blijf op de hoogte van de expertise uit de IT-sector.

    Over ons

    The Codest - Internationaal softwareontwikkelingsbedrijf met technische hubs in Polen.

    Verenigd Koninkrijk - Hoofdkantoor

    • Kantoor 303B, 182-184 High Street North E6 2JA
      Londen, Engeland

    Polen - Lokale technologieknooppunten

    • Fabryczna kantorenpark, Aleja
      Pokoju 18, 31-564 Krakau
    • Hersenambassade, Konstruktorska
      11, 02-673 Warschau, Polen

      The Codest

    • Home
    • Over ons
    • Diensten
    • Case Studies
    • Weten hoe
    • Carrière
    • Woordenboek

      Diensten

    • Het advies
    • Software Ontwikkeling
    • Backend ontwikkeling
    • Frontend ontwikkeling
    • Staff Augmentation
    • Backend ontwikkelaars
    • Cloud Ingenieurs
    • Gegevensingenieurs
    • Andere
    • QA ingenieurs

      Bronnen

    • Feiten en fabels over samenwerken met een externe partner voor softwareontwikkeling
    • Van de VS naar Europa: Waarom Amerikaanse startups besluiten naar Europa te verhuizen
    • Tech Offshore Ontwikkelingshubs Vergelijking: Tech Offshore Europa (Polen), ASEAN (Filippijnen), Eurazië (Turkije)
    • Wat zijn de grootste uitdagingen voor CTO's en CIO's?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Gebruiksvoorwaarden website

    Copyright © 2025 door The Codest. Alle rechten voorbehouden.

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