Täielik juhend keskkondade loomiseks WSL2 + Docker + VS Code abil

Viimane uuendus: 22/09/2025
Autor: Isaac
  • WSL2 pakub kerneli Linux pärit Windows ja suurepärane jõudlus Dockeri jaoks.
  • VS Code ja Dev Containers tagavad reprodutseeritavad ja kaasaskantavad keskkonnad.
  • Paigaldage Docker Desktop või WSL2-le natiivne mootor vastavalt oma poliitikale.
  • Produktiivsus: ZSH, FZF ja Tmux, lisaks WSL2/Dockeri tõrkeotsing.

Arenduskeskkond WSL2 Dockeri ja VS Code'iga

Kui töötad Windowsiga ja soovid kindlat arenduskeskkonda Linuxi, konteinerite ja moodsa redaktoriga, WSL2, Docker ja VS Code moodustavad võiduka kolmikuSee kombinatsioon võimaldab teil Linuxis programmeerida Windowsist lahkumata, konteinereid kiiresti käivitada ja projekte mugavalt siluda – kõik samal masinal.

Idee on lihtne: kasutage ära WSL2 Linuxi kerneli eeliseid, lisa Docker (kas Docker Desktopi kaudu või distributsiooni natiivse mootori installimise teel) ja lõpeta VS Code ja Dev konteinerid et saada reprodutseeritavaid keskkondi. Järgmistes osades näete samm-sammult, kuidas seda seadistada, Praktilised soovitused, otseteed, reaalse elu juhtumid ja lahendused tüüpilistele probleemidele.

Konteinerid ja miks need sobivad WSL2 + VS koodiga

Docker võimaldab teil rakendusi pakendada kõige vajalikuga. käivita sama mis tahes masinasErinevalt traditsioonilisest virtuaalmasinast jagavad konteinerid hosti kerneli. Nad käivituvad kiiremini ja tarbivad vähemLisaks hõlbustavad need pidevat kättesaadavust: laadite üles konteineri uue versiooni ja asendate kogu süsteemi peatumata.

WSL2-ga on Windowsil sisseehitatud päris Linuxi tuum. Tänu sellele Linuxi konteinerid töötavad natiivselt teie arvutis ja kui kasutate Docker Desktopi koos WSL 2 taustaprogrammiga, saate Linuxi ja Windowsi konteinereid kõrvuti käitada. See ühendab jõudluse, ühilduvuse ja ühtne töövoog.

Süsteeminõuded ja ettevalmistus

Esiteks on hea mõte kontrollida, kas Windows vastab WSL2 ja Docker Desktopi nõuetele. Windowsi versioonide ja järkude kontrollimine (Win + R, tippige „winver”) ja pidage meeles, et Docker Desktopil on spetsiifilised süsteemi- ja litsentsinõuded (isiklikuks kasutamiseks ja väikeettevõtetele tasuta).

WSL2 lihtsustatud meetodi abil installimiseks avage PowerShell o CMD õigustega ja käivitab wsl --installSee käsk lubab vajalikud komponendid, installib Linuxi kerneli, määrab WSL 2 vaikesäteteks ja laadib vaikimisi alla Ubuntu. Taaskäivitage, kui seda küsitakse.

Pärast installimist avage distributsioon (Ubuntu, kui te pole seda muutnud) ja looge oma Linuxi kasutajanimi ja paroolPea meeles, et parooli sisestamisel ei näe sa ühtegi märki: see on normaalne. See konto on vaikekonto ja saab töötada sudo administratiivsete ülesannete jaoks.

Hoidke distributsiooni ajakohasena sudo apt update && sudo apt upgradeWindows ei värskenda levitamist automaatselt, seega sina otsustad, millalKui soovite lisada rohkem distributsioone, saate seda teha Microsoft Store'ist või importida pilte.

Terminal, salvestusruum ja redaktor: esimesed otsused

Installige Windows terminal moodsa kogemuse saamiseks vahekaartide, paneelide ja teemadega. Haldab mitut rida käsud valutult ja kohandage vastavalt oma soovidele. Iga kord, kui lisate WSL-distroo, kuvatakse terminalis selle vastav profiil.

Projektifailide puhul on jõudlus võtmetähtsusega: Kui kasutate Linuxi tööriistu, salvestage projektid WSL2 failisüsteemi. (näiteks \\wsl$\Ubuntu-22.04\home\tuusuario\proyecto). Sellele pääseb ligi mõlemalt poolt, aga Linuxi tööriistadega /mnt/c kaustas töötamine võib olla aeglasem.

Praeguse WSL-kausta avamiseks Exploreris käivitage explorer.exe . (sisaldab punkti). Ja kausta avamiseks WSL-ist VS Code'is kasutage code .Õige laiendusega, VS Code loob ühenduse WSL-i laiendusserveriga ja unustad kummalised marsruudid ja binaarprobleemid.

Docker Desktopi installimine WSL 2 taustaprogrammiga

Väga mugav viis on kasutada Docker Desktopi. Laadige see alla, installige ja aktiveerige. «Kasuta WSL 2-põhist mootorit» Seaded > Üldine. Seejärel Seaded > Ressursid > WSL-i integratsioon vali WSL2 distributsioonid kus soovite integratsiooni lubada.

Kontrollige oma distributsiooni installimist järgmisega: docker --version ja proovige sellega docker run hello-worldKui kõik läheb hästi, töötavad WSL2 kerneli peal Linuxi konteinerid ja Docker Desktopi hallatav Windowsis.

  Kuidas kasutada Microsoft Power Automate'i samm-sammult: täielik ja praktiline juhend

Docker Desktop loob kaks spetsiaalset WSL-jaotust ladustamine ja teenindus: docker-desktop y docker-desktop-dataNäete ka nende marsruute järgmiselt: \\wsl$\docker-desktop y \\wsl$\docker-desktop-dataKui teil on vaja oma andmeid Windowsist leida, saate avada WSL-kesta ja käivitada explorer.exe .või navigeeri aadressile \\wsl\<Distro>\mnt\wsl.

Kui sa tuled Dockeri vana eelvaade WSL-ile, võib olla olemas aegunud kontekst nimega "wsl". Kontrollige seda docker context lskui see ilmub, eemaldage see docker context rm wsl Selliste vigade nagu "open \\.\/pipe\/docker_wsl" vältimiseks peaksite praeguses integratsioonis kasutama vaikekontekst.

VS Code'i abil kaugkonteinerites arendamine

Konteineritega mugavaks töötamiseks installige laiendused VS Code'i. WSL, Dev-konteinerid y laevalaadijaNende abil saate avada oma WSL-projekti VS Code'is ja ka avage kaust uuesti arenduskonteineris kogu virnaga valmis.

Praktiline näide (Django). Kloonige oma WSL-terminalist repositoorium, näiteks Django „Hello World” repositoorium: git clone https://github.com/mattwojo/helloworld-django.git, sisestage cd helloworld-django ja avage VS Code rakendusega code .Kontrollige rohelist WSL-kaugühenduse indikaatorit vasakus alanurgas.

Ava palett (Ctrl + Tõst + P) ja vali „Arendaja konteinerid: ava konteineris uuesti” (või „Ava kaust konteineris…”, kui kasutate Windowsi operatsioonisüsteemi ja \\wsl$). Valige sobiv definitsioon (nt Python 3 Django jaoks). VS Code loob kausta .devcontainer koos Dockerfile y devcontainer.json, loob kuvandi ja tõstab arenduskonteineri üles.

Ava integreeritud terminal ja käivita uname et kinnitada, et kasutate Linuxit, ja python3 --version konteineri Pythoni versiooni nägemiseks. Silumiseks minge vaatesse „Käivita ja silu“, loob launch.json valides raamistiku konfiguratsiooni (antud juhul Django) ja vajutades F5Ava URL, mille terminal sulle näitab (näiteks http://127.0.0.1:8000).

Arenduskonteinerid ja koodiruumid: reprodutseeritavad keskkonnad

Dev-konteiner on defineeritud järgmiselt: .devcontainer/devcontainer.json ja valikuliselt ka DockerfileSee lähenemisviis võimaldab kasutage baaspilte või muid kohandatud pilte, sõltuvuste eelinstallimine, VS Code'i laienduste konfigureerimine ja konfigureerimisjärgsete käskude automatiseerimine.

Kõige levinumate kasutusjuhtude hulka kuuluvad järgmised Koostöös tehtav andmeteadus (Pythoni, Jupyteri, pandade, Seaborni ja homogeense sõltuvuste komplektiga) ja Node.js-i taustsüsteem PostgreSQL-iga kooskõlastatud docker-compose.ymlSel viisil töötab kogu meeskond samas keskkonnas, kohalike erinevuste tõttu üllatusi pole.

Sama kaust .devcontainer Töötab pilves GitHubi koodiruumidega: kui loote koodiruumi, loob GitHub automaatselt keskkonna. See soodustab sujuv ümberlülitus kohapealse ja pilve vahel, reprodutseeritavus ja uute koostööpartnerite kiire kaasamine.

Parimad tavad: kaaluge ametlikke baaspilte devcontainers/, kausta versioon .devcontainer, kasutab postCreateCommand paigalduste ja kombainide automatiseerimiseks devcontainer.json koos docker-compose.yml kui vajate mitut teenust.

Alternatiiv: Docker ilma Docker Desktopita (WSL2 natiivne mootor)

Kui eelistate Docker Desktopi vältida (ettevõtte poliitika või isikliku valiku tõttu), saate installida Dockeri mootor otse teie WSL2 distributsioonilLisage GPG-võti, ametlik hoidla ja paketid (Ubuntus):

Võtme ja hoidla lisamiseks järgige neid käske: # Clave oficial y repositorio
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo «deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https:\/\/download.docker.com\/linux\/ubuntu \n$(. \/etc\/os-release && echo «$VERSION_CODENAME») stable» |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Lisage oma kasutaja dockeri gruppi, et kasutada CLI-d ilma sudota: sudo usermod -aG docker $USERSulgege WSL ja avage see uuesti. Kontrollige docker run hello-worldAutomaatseks käivitamiseks võite kasutada /etc/wsl.conf koos [boot] y command = service docker startvõi systemd, kui see on juba lubatud teie WSL2-s (uuemates versioonides).

  Kuidas lubada riistvarakiirendusega GPU ajastamist ja parandada arvuti graafikajõudlust

Võrk ja pordid: Windowsist pääsete ligi konteineritele, mis on avaldatud localhost tänu WSL2-le. Kui teil on vaja WSL2 teenuseid oma kohalikule võrgule avada (nt mobiilseadmest), Kasutage Windowsis Netshiga pordiproksi ja loob vastava tulemüürireegli. A käsikiri Tüüpiline PowerShell saab WSL IP-aadressi ja konfigureerib selle. portproxy ja lisa reegel; nii väldid käskude kordamist pärast taaskäivitamist.

Miks valida see tee? Nii väldite Docker Desktopi litsentside või poliitikate täitmist ning saate iga osa ise kontrollida. Lisaks saate juurutada Portiner Konteinerite haldamiseks veebiliidese kaudu: looge köide ja käivitage konteiner portidega 8000 ja 9443; avage https://localhost:9443 (aktsepteerib sertifikaadi), loob administraatori kasutaja ja Halda oma Dockerit klõpsudega.

Git, SSH ja kuhu koodi kloonida

WSL2-s saate oma kataloogis Gitiga kloonida Linuxi avaleht ja töötage VS Code'iga. See on tavaliselt kõige mugavam valik: parem jõudlus ja väiksem hõõrdumineKui eelistate konteinerist kloonida, peate haldama mandaate ja võtmeid. SSH konteineri sees või paigaldage oma ~/.ssh hoolikalt.

Giti graafiline kasutajaliides? Sellised tööriistad nagu Sublime Merge või GitKraken võivad sellises olukorras toimida. GitKraken saab isegi... avage WSL-terminalist ja kuvage Windowsis, millel on juurdepääs WSL-failidele. GitLabi või muude kaugseadmetega SSH-ühenduse korral seadistage oma võtmed WSL-is ja kontrollige enne kloonimist õigusi ja SSH-agente. SSH.

Pea meeles jõudlusnõuannet: väldi /mnt/c oma koodi jaoks, kui kavatsed kompileerida või kasutada intensiivseid Linuxi tööriistu. Kasuta \\wsl$ Windowsist, et pääseda juurde samale kaustale alati, kui seda vajate.

Terminali tootlikkus: ZSH, Oh My Zsh, Powerlevel10k, Antigen, FZF ja Tmux

Mugava ja võimsa terminali jaoks paigaldage ZSH koos sudo apt install zsh ja muutke see vaikeseadeks chsh -s $(which zsh)Seejärel installige Oh mu zsh selle ametliku skriptiga ning annab sellele täiustatud ilme ja funktsionaalsuse.

Küsimus Võimsustase10k lisab Giti integratsiooniga ja suurepärase jõudlusega hõlpsasti seadistatava käsuviiba. Paigalda see oma hoidlast, aseta ZSH_THEME="powerlevel10k/powerlevel10k" en ~/.zshrc ja järgige fontide ja välimuse kohandamiseks viisardit. Näete oma hoidla, haru ja muu staatuse Vaata.

koos antigeeni Sa haldad ZSH pluginaid deklaratiivselt. Kasulikud paketid: zsh-autosuggestions, plugin jaoks fzf, toetus zsh-npm-scripts-autocomplete y zsh-z kataloogide vahel hüppamiseks. Lisage NVM pluginana või ametlikult hot-switch Node'i versioonid.

Parandab voolu koos bat y fd apt-st (bat y fd-find Ubuntus) ja seadistage fzf otsingute jaoks: Ctrl + R ajaloo jaoks, Alt + C kaustade ja Ctrl + T värvilise eelvaatega failide puhul. Kohene ajakokkuhoid Igapäevaselt.

Terminali multipleksimiseks kasutage tmux (sudo apt install tmux) ja selle pluginate haldur TPMNõuetekohase seadistuse korral on teil teemad, seansi taastamine (resurrect/continuum), integratsioon Vimi-laadse navigatsiooniga ja paneelide jagamise otseteed. Installige pluginad Ctrl + Espacio ja siis I (suur i) Tmuxi sees

Andmebaasid, GPU-d ja graafikarakendused

Sinu projekt võib vajada andmebaasi. Sul on selleks juhendid. MySQL, PostgreSQL, MongoDB, Redis, SQL Server või SQLite töötades WSL-i sees või konteineritena. Integreerige teenused docker-compose.yml y Hankige oma Dev Container veebist neile ilma komplikatsioonideta.

GPU kiirendus? WSL2 pakub tuge masinõppe töökoormused GPU kasutamine, pöörates erilist tähelepanu NVIDIA ja CUDA. AMD/Inteli kaartidel on alternatiivsed teed; vaadake oma tootja dokumentatsiooni. luba kiirendus.

WSL2 võimaldab teil käivitada Linuxi GUI-rakendusi Windowsis. Teatud juhtudel Saate avada Linuxi redaktoreid või graafilisi tööriistu ja kuvatakse Windowsi akendes. Kui näete tõrkeid, taaskäivitage WSL2 rakendusega wsl --shutdown tavaliselt parandab ära.

Koostalitlusvõime ja kasulikud käsud

WSL ja Windows saavad teineteisest hästi aru. PowerShellis käivitage Linuxi käsud koos wslNäiteks: wsl ls -laVõite ka segada: wsl ls -la | findstr "git" o dir | wsl grep git maailmade vahel filtreerimiseks.

  Täielik juhend CMD käskude kohta Windowsis: põhi- ja täiustatud

Linuxist käivitage Windowsi tööriistad, lisades exe: notepad.exe .bashrcKasulikud on ka kombinatsioonid: ipconfig.exe | wsl grep IPv4 | wsl cut -d: -f2 IP säilitamiseks. Kõik voolab kahe süsteemi vahel.

Väliste draivide paigaldamiseks WSL2-sse järgige ketta paigaldamise juhendit. Saate seda teha. juurdepääs USB või lisakettaid ja töötage nendega Linuxist.

Võrk, pordid ja kohalik host

WSL2 kaardistab automaatselt Linuxi keskkonna pordid localhost WindowsisSee tähendab, et kui avaldate -p 3000:3000 Dockeris saate sisestada http://localhost:3000 oma Windowsi brauserist ilma midagi muud tegemata.

Kui soovite WSL2 teenuseid LAN-ile (teisele teie võrgus olevale seadmele) avaldada, saate kasutada PowerShelli skript mis saab WSL-i IP-aadressi ja kutsub esile netsh interface portproxy portide edastamiseks lisaks tulemüürireegli loomisele New-NetFirewallRule. See automatiseerib avaldamist ja vältige toimingute käsitsi kordamist pärast taaskäivitamist.

Levinud probleemid ja kuidas neid lahendada

WSL-is vananenud Dockeri kontekstid: kui näete vanematest eelvaadetest päritud konteksti nimega „wsl”, kustutage see käsuga docker context rm wslNii väldite selliseid vigu nagu open \\.\/pipe\/docker_wsl ja sa jääd selle juurde vaikekontekst.

Kuhu Docker WSL-i all andmeid salvestab? \\wsl$\docker-desktop y \\wsl$\docker-desktop-datavõi avage oma distributsioon ja käivitage explorer.exe . navigeerimiseks. Teil on ka \\wsl\<Distro>\mnt\wsl seotud salvestusruumi nägemiseks.

WSL-ist käivitatud GUI akna tõrked: mõnikord apps Elektronpõhised mudelid näitavad artefakte. Taaskäivitage WSL2 rakendusega wsl --shutdown ja proovige uuesti. Microsoft parandab neid üksikasju aeg.

Pole systemd-d? Viimastes iteratsioonides saab WSL2-ga hakkama luba systemd vaikimisi; kui see pole teie juhtum, võite teenuste osutamist alustada /etc/wsl.conf ja jaotis [boot]Kui vajate taustateenuseid, kontrollige oma versiooni ja dokumentatsiooni.

Sa uuendasid WSL1-lt WSL2-le ja Docker ei tee koostööd: mõnikord on vanade konfiguratsioonide jäänuseid, näiteks DOCKER_HOST=tcp://localhost:2375Kui kasutate seda seadistust, desinstallige Docker Windowsist ja WSL-ist täielikult (paketid, teed ja konfiguratsioonifailid) ja Docker Desktopi uuesti installimine WSL 2 taustaprogrammigaKontrollige wsl -l -v mis on olemas docker-desktop y docker-desktop-data versioonis 2.

Kui kasutate WSL2-s natiivset mootorit ilma töölauata ja paljastate deemoni TCP kaudu, pidage meeles, et Ilma TLS-ita on see ebaturvalineSee seadistus on mõeldud kohalike arenduskeskkondade, mitte tootmiskeskkondade jaoks. Veenduge, et teil on võrgus hea ligipääs ja vältige ebavajalikke avatud porte.

Lõplikud näpunäited ja parimad tavad

Projektides koos docker-compose.yml mis eeldavad Docker Desktopi automatiseeringuid (ühendusi ja võrgualiase), kohandage absoluutseid teid, kui näete mahud koos ~ ja lisab extra_hosts koos host.docker.internal:host-gateway kui teie pinu seda nõuab. Väikesed muudatused väldivad üllatusi.

VS Code'i puhul võimaldab WSL + Dev Containers + Docker kombinatsioon teil tööta konteineri sees samade laienduste ja redaktori sätetega. See on viis meeskonnaliikmete keskkonna standardiseerimiseks ja "minu masinal see töötab" faktori vähendamiseks.

Kui eelistate Docker Desktopi-vaba lähenemist, pakub WSL2 natiivne mootor detailset juhtimist ja Portaineriga kerget haldusliidest. Mõlemad marsruudid kehtivad ja see sõltub teie vajadustest, litsentsidest ja sise-eeskirjadest.

Teil on täielik kaart: WSL2 installimine ja seadistamine, vali Docker Desktopi või natiivse mootori vahel, tööta Dev Containers ja VS Code, kasutage andmebaasid ja GPU-d ning suurendage oma tootlikkust häälestatud terminali ja Tmuxiga. Peamine on neid elemente vastavalt oma projektile ja meeskonnale kombineerida, et saavutada reprodutseeritav, kiire ja mugav keskkond Igapäevaselt.