Pag-configure ng Docker Desktop at WSL2 para sa pag-develop sa Windows 11

Huling pag-update: 12/01/2026
May-akda: Isaac
  • Nag-aalok ang WSL2 ng kernel Linux tunay sa Windows 11, mainam para sa pagpapatakbo ng Docker Desktop na may mga high-performance na Linux container.
  • Ang integrasyon ng Docker Desktop sa WSL2 ay nagbibigay-daan sa iyong bumuo, mag-debug, at mag-deploy ng mga aplikasyon gamit ang VS Code, Git, at mga database na parang sila ay katutubo sa Linux.
  • Ang pag-iimbak ng mga proyekto sa loob ng WSL2 file system at hindi sa C: ay lubos na nagpapabuti sa pagganap ng Docker at nakakaiwas sa mga bottleneck sa I/O.
  • Dahil sa mahusay na seguridad, proxy, at resource management configuration, ang Docker Desktop at WSL2 ay bumubuo ng isang matibay na kapaligiran para sa personal at negosyong pag-unlad.

Pag-configure ng Docker Desktop at WSL2 sa Windows 11

Ang paggamit ng mga Docker container sa Windows 11 ay hindi na lamang para sa mga system guru: salamat sa Docker Desktop at WSL2, posible nang mag-set up ng isang malakas at magaan na development environment na halos kapareho ng native Linux nang hindi umaalis sa iyong Windows machine. Gamit ang tamang kombinasyon ng configuration, mga tool, at mga pinakamahusay na kasanayan, maaari kang mag-compile, mag-debug, at mag-deploy ng mga containerized na application sa parehong Linux at Windows mula sa iisang makina, na masusulit ang iyong hardware.

Ang layunin ng gabay na ito ay tulungan kang maging maayos ang lahat ng bagay : pag-install at pag-configure ng WSL2, pag-set up ng Docker Desktop gamit ang WSL2 engine, pagsasama ng VS Code, pag-configure ng Git, mga database, at mga remote development container, at maging ang pag-aayos ng performance, seguridad, at pag-troubleshoot ng mga karaniwang isyu (proxy, mabagal na path, storage , atbp.). Ang lahat ay ipinaliwanag nang sunud-sunod, sa Espanyol (Espanya), at may praktikal na pamamaraan.

Mga Pangunahing Konsepto: Mga Docker Container, WSL2, at Docker Desktop

Bago ka magsimulang mag-install ng mga bagay nang walang pag-asa , mahalagang maunawaan kung ano ang kontribusyon ng bawat bahagi. Ang Docker ay isang plataporma na nagbibigay-daan sa iyong i-package ang mga aplikasyon kasama ang lahat ng kanilang mga dependency (mga library, framework, binary, configuration, atbp.) sa mga magaan na yunit na tinatawag na mga container. Ang mga container na ito ay batay sa mga imahe at ginagarantiyahan na ang aplikasyon ay tatakbo nang pareho sa anumang makina, nang hindi mo na kailangang mahirapan sa "gumagana ito sa aking makina."

Hindi tulad ng tradisyonal na virtual machine , hindi nagbo-boot ang isang container ng kumpletong operating system. Sa halip, ibinabahagi nito ang host kernel (sa kasong ito, ang Linux) at ibinubukod ang mga proseso gamit ang mga namespace at cgroup. Ang resulta ay mas maliliit na pakete, halos agarang mga startup, at mas mahusay na paggamit ng resource, na lalong kapansin-pansin kapag nagtatrabaho sa maraming microservice o CI/CD pipelines.

Ang WSL2 (Windows Subsystem for Linux 2) ay ang ikalawang henerasyon ng Linux subsystem ng Microsoft at nagdaragdag ng isang tunay na Linux kernel na tumatakbo sa isang magaan na virtual machine. Ito ay kumakatawan sa isang malaking pagsulong kumpara sa WSL1: pinahusay na pagganap ng disk at network, mas mahusay na pagiging tugma sa mga katutubong tool ng Linux, at, higit sa lahat para sa aming mga layunin, buong suporta para sa mga Linux-based na Docker container.

Ang Docker Desktop para sa Windows ay nagsisilbing pandikit na nagbubuklod sa lahat: nagbibigay ito ng graphical interface para sa pamamahala ng mga container, imahe, volume, at network, naglalantad ng isang ganap na Docker-compliant CLI, at, kapag pinagana mo ang WSL2-based engine, hinahayaan kang magpatakbo ng mga Linux at Windows container sa iisang makina gamit ang Linux kernel na tumatakbo sa loob ng WSL2.

Mga kinakailangan at paghahanda ng sistema

Para gumana nang maayos ang Docker Desktop at WSL2 sa Windows 11, kailangan mong matugunan ang ilang mga kinakailangan sa hardware at software. Mahalagang suriin ang mga ito upang maiwasan ang mga hindi pangkaraniwang error habang nag-i-install o kapag sinisimulan ang Docker daemon.

Sa antas ng operating systemInirerekomendang gumamit ng Windows 11 o isang bagong bersyon ng Windows 10 na may suporta sa WSL2 (build 20262 o mas bago). Maaari mong tingnan ang bersyon sa pamamagitan ng pagpindot sa Windows + R at pag-type winver at sinusuri ang naka-install na build. Sa Windows 11, ang pinasimpleng utos wsl --install Ito ay magagamit at ginagawang mas madali ang unang pag-setup.

Sa seksyon ng virtualization , siguraduhing naka-enable ang suporta sa hardware virtualization ( Intel VT-x, AMD-V) sa BIOS/UEFI. Gagamitin ng Windows ang feature na "Virtual Machine Platform", na mahalaga para sa WSL2 at sa Docker backend kapag hindi gumagamit ng tradisyonal na Hyper-V. Kung plano mong gamitin ang alternatibong backend kasama ang Hyper-V, kakailanganin mo rin ng Pro, Enterprise, o katumbas na edisyon.

Maipapayo ring suriin ang mga opisyal na kinakailangan ng Docker Desktop (64-bit na CPU, hindi bababa sa 4 GB ng RAM, mga pribilehiyo ng administrator, at sapat na espasyo sa disk para sa mga imahe at container). Para sa mga partikular na instalasyon sa Windows Server, may mga hiwalay na gabay, ngunit ang artikulong ito ay tututok sa mga desktop environment na may Windows 11.

Pag-install at pag-configure ng WSL2 sa Windows 11

Pag-mount at pag-access ng mga pisikal na disk mula sa WSL2 gamit ang wsl --mount

Ang unang seryosong hakbang para maayos na mapatakbo ang Docker sa Windows 11 ay ang pagsiguro na maayos na naka-install at na-configure ang WSL2. Kung walang maayos na na-configure na WSL2, ang Docker backend para sa Linux ay hindi tatakbo nang maayos o maaaring hindi man lang magsimula.

Sa Windows 11, ang mabilis na paraan ay ang paggamit ng PowerShell bilang administrator at patakbuhin ang command:

wsl --install

Ang utos na ito ay nag-aautomat ng ilang mahahalagang gawain : pinapagana nito ang mga opsyonal na tampok na "Windows Subsystem for Linux" at "Virtual Machine Platform", dina-download at ini-install ang pinakabagong Linux kernel, itinatakda ang WSL2 bilang default na bersyon, at awtomatikong nagdaragdag ng distribusyon ng Ubuntu (kung magiging maayos ang lahat, na may pansamantalang pag-reboot).

Kung gusto mo ng ibang distribution o nag-i-install ka sa Windows 10 , maaari mong manu-manong paganahin ang mga feature mula sa "Turn Windows features on or off" o sa pamamagitan ng PowerShell, at pagkatapos ay i-install ang iyong gustong distribution (Ubuntu, Debian, Fedora, atbp.) mula sa Microsoft Store. Sa ibang pagkakataon, maaari mo itong pilitin na gamitin ang WSL2 gamit ang:

wsl --set-default-version 2

Kapag na-install na ang distribution sa unang pagkakataonKapag binuksan mo ito mula sa Start menu, sasabihan kang gumawa ng username at password para sa Linux. Hindi ito naka-link sa iyong Windows user account, at kapag tinayp mo ang password, wala kang makikitang anumang karakter sa screen (normal lang ito sa terminal). Magkakaroon ng mga pribilehiyong administrator ang user na ito sa loob ng distribution at makakapagpatakbo ng mga command. comandos sa sudo.

Kung sa ilang sandali Nakalimutan mo ba ang iyong password? ng distroMaaari kang mag-log in gamit ang username ugat mula sa pagtakbo ng PowerShell wsl -u root (o wsl -d <Distro> -u root (kung hindi ito ang default) at palitan ang password gamit ang passwd <usuario>Pagkatapos itong i-update, lalabas ka gamit ang exit at handa na.

  msdt.exe -id DeviceDiagnostic: Buksan, ayusin ang mga error, at ligtas na mga alternatibo

Lubos na inirerekomenda na i-update kaagad ang mga pakete pagkatapos ng pag-install , lalo na kung gagamitin mo ang distro bilang isang development environment. Sa Ubuntu o Debian, mula mismo sa terminal ng Linux:

sudo apt update && sudo apt upgrade

Pag-install ng Docker Desktop gamit ang WSL2 backend

Kapag gumagana na ang WSL2, maaari ka nang lumipat sa Docker Desktop . Ang ideya ay i-install ang Docker gamit ang WSL2 engine sa halip na umasa sa Hyper-V, na karaniwang nag-aalok ng mas mahusay na performance, mas mababang resource consumption, at mas maayos na integrasyon sa mga tool ng Linux.

I-download ang Docker Desktop installer mula sa opisyal na website ng Docker, at siguraduhing piliin ang bersyon ng Windows. Pareho ang installer para sa maraming platform, kaya siguraduhing tama ang executable na bersyon para sa iyong system, hindi ang bersyon ng Linux o macOS.

Kapag binuksan mo ang Docker Desktop installer , makakakita ka ng isang medyo simpleng wizard. Piliin ang opsyong "Gumamit ng WSL2-based engine" (o katulad nito, depende sa bersyon) upang magamit ng Docker ang WSL2 backend sa halip na Hyper-V. Maaari ka ring gumawa ng desktop shortcut para sa madaling pag-access.

Ang proseso ng pag-install ay tumatagal ng ilang minuto , depende sa iyong makina, dahil kinokopya nito ang mga binary, serbisyo, at kino-configure ang mga integrasyon. Kapag tapos na ito, sasabihan ka na i-restart ang iyong system. Pagkatapos ng pangalawang pag-restart , buksan ang Docker Desktop mula sa Start menu o gamit ang desktop icon at tanggapin ang mga tuntunin ng lisensya (libre ito para sa personal at maliliit na negosyo).

Kung hindi mo pa nakukumpleto ang WSL2 , hihilingin sa iyo ng Docker na i-download at i-install ang WSL2 kernel. Sundin ang link na ibinigay ng programa, i-install ang kernel package, i-restart, at kapag binuksan mo muli ang Docker Desktop, dapat ay handa na ang WSL2 backend.

Pag-verify at mga pangunahing setting ng Docker Desktop gamit ang WSL2

Kapag nailunsad na ang Docker Desktop, oras na para ayusin at beripikahin kung gumagana nang tama ang lahat . Mula sa icon ng Docker sa system tray (mga nakatagong icon), mag-right click at pumunta sa "Mga Setting".

Sa seksyong Pangkalahatan , tiyaking naka-enable ang opsyong katumbas ng “Gamitin ang WSL 2 based engine”. Tinitiyak nito na ang mga Linux container ay tumatakbo sa WSL2 kernel at hindi lilikha ng karagdagang virtual machine na may Hyper-V, kaya nakakatipid ito ng memory at CPU resources.

Susunod, pumunta sa Resources > WSL Integration . Dito makikita mo ang isang listahan ng mga available na distribusyon ng WSL (Ubuntu, Debian, atbp.) at maaari mong piliin kung alin ang papaganahin ang integrasyon ng Docker. I-activate ang iyong pangunahing distribusyon (halimbawa, Ubuntu ) upang mapatakbo mo ang mga utos ng Docker nang direkta mula sa distribusyon na iyon.

Para kumpirmahin na tumutugon ang Docker CLI , magbukas ng WSL terminal (halimbawa, Ubuntu) at patakbuhin ang:

docker --version

Kung ibabalik ng utos ang mga bersyon ng Docker client at server , handa na ang kapaligiran. Bilang karagdagang patunay, maaari mong ilunsad ang karaniwang "hello-world" test image gamit ang:

docker run hello-world

Kung makikita mo ang mensahe ng welcome ng Docker sa loob ng Linux terminal , nangangahulugan ito na tumutugon ang Docker Desktop sa pamamagitan ng WSL2 backend at kayang mag-download ng mga larawan mula sa opisyal na registry at matagumpay na patakbuhin ang mga ito.

Pagganap: Bakit mahalaga ang paggamit ng WSL2 at ang tamang landas ng file

Isa sa mga pinakamadalas na pagkakamali na nagiging sanhi ng mabagal na pagtakbo ng Docker sa Windows ay ang maling paghahalo ng mga path ng WSL1, WSL2, at mga file. Ang isang hindi maayos na na-configure na kapaligiran ay maaaring lubos na magpataas ng oras ng compilation at pag-access sa disk sa loob ng mga container.

Para lubos na masulit ang performance ng Docker Desktop sa Windows 11Siguraduhing gumagamit ka ng WSL2 (hindi WSL1) para sa distribution na nagsasama ng Docker, at higit sa lahat, iimbak ang iyong source code sa loob ng WSL filesystem at hindi sa isang Windows drive na naka-mount sa /mnt/c o katulad.

Simple lang ang praktikal na rekomendasyon.Sa iyong WSL distro terminal, hanapin ang iyong mga proyekto sa ilalim ng iyong direktoryo. /home/<usuario>, Halimbawa /home/miusuario/proyectosKung gusto mong tingnan ang mga file na iyon mula sa Windows, maaari mong buksan ang file explorer gamit ang:

explorer.exe .

Sa likod nito ay mayroong malinaw na motibo sa pagganap.Kapag ina-access ng mga container ang mga file na matatagpuan sa internal WSL2 file system, mas mabilis ang I/O kaysa kapag ang trapiko ay hinahawakan gamit ang mga path tulad ng C:\ naka-mount sa ilalim /mnt/cPara sa malalaking proyekto (Node, Python, Java, atbp.) ang pagkakaiba sa pagitan ng dalawang pamamaraan ay lubos na kapansin-pansin.

Pamamahala ng pamamahagi ng WSL at imbakan ng Docker

Kung seryoso kang gagamit ng WSL2 , malamang na gagamit ka ng higit sa isang distribusyon (Ubuntu para sa pag-develop, isa pa para sa pagsubok, atbp.). Maaari mong ilista ang iyong mga naka-install na distribusyon at ang kanilang bersyon ng WSL gamit ang:

wsl -l -v

Kung mayroon man sa kanila na gumagamit pa rin ng WSL1 , maaari mo silang ilipat sa WSL2 gamit ang:

wsl --set-version NombreDistro 2

Tungkol sa imbakan ng Docker sa loob ng WSLAng Docker Desktop ay lumilikha ng dalawang espesyal na distribusyon para sa sarili nitong data: docker-desktop y docker-desktop-dataAng mga ito ay ipinapakita rin bilang mga ruta ng network:

  • \\wsl$\docker-desktop
  • \\wsl$\docker-desktop-data

Kung kailangan mong hanapin ang mga folder na iyon mula sa WindowsMaaari mong buksan ang iyong WSL distro at patakbuhin explorer.exe . at pagkatapos ay mag-navigate papunta sa \\wsl\<Distro>\mnt\wsl (pagpapalit gamit ang aktwal na pangalan, halimbawa Ubuntu-24.04) para makita kung saan matatagpuan ang datos na iyon.

  Paano mag-convert ng mga PDF nang hindi nawawala ang kalidad sa Windows 11

Mahalagang malaman kung saan nakaimbak ang mga imahe at volume , dahil kumukuha ang mga ito ng espasyo sa disk, at kung malawakan mong ginagamit ang WSL2, maaaring lumaki nang malaki ang laki ng VM file. Mainam na palaging suriin paminsan-minsan ang mga imahe at container na hindi mo na kailangan.

Pagsasama sa VS Code: containerized development at debugging

Isa sa mga pinakamakapangyarihang kombinasyon ng Docker at WSL2 ay ang paggamit ng Visual Studio Code bilang iyong pangunahing development environment. Direktang sinusuportahan ng VS Code ang remote work sa WSL at mga development container, na nagbibigay-daan sa iyong mag-edit, mag-compile, at mag-debug sa loob ng isang nakahiwalay na Linux environment nang hindi umaalis sa Windows.

Para i-set up ang workflow na ito , i-install ang VS Code sa Windows at pagkatapos ay magdagdag ng tatlong pangunahing extension:

  • Malayuang Serbisyo – WSL: nagbibigay-daan sa iyong buksan ang mga folder na matatagpuan sa iyong WSL distro nang direkta sa VS Code.
  • Mga Dev Container (dating Remote – Container): nagbibigay-daan sa iyong magbukas ng folder ng proyekto sa loob ng isang lalagyan ng pag-unlad na tinukoy ng Dockerfile y devcontainer.json.
  • Manggagawa sa pantalan: nagdaragdag ng mga panel at command upang pamahalaan ang mga imahe, container, volume, at log mula sa VS Code.

Ang isang karaniwang daloy ng trabaho ay magmumukhang ganito : Una, mula sa iyong WSL terminal, kino-clone mo ang isang repository ng iyong proyekto (halimbawa, isang sample na Django) gamit ang:

git clone https://github.com/<usuario>/helloworld-django.git

Pagkatapos ay ipasok mo ang folder ng proyekto sa cd helloworld-django at buksan ang VS Code na nakaturo sa rutang iyon gamit ang:

code .

Kung aktibo ang WSL extension, makikita mo ito sa ibabang bar. Ipinapakita ng berdeng indicator na nakakonekta ka sa distro ng Linux, hindi sa session ng Windows. Mula doon, maaari mong gamitin ang Command Palette (Ctrl + Shift + P) at patakbuhin ang “Dev Containers: Reopen in Container” kung nasa isang WSL folder ka na, o “Dev Containers: Open Folder in Container…” para pumili ng ibang folder (kahit na sa pamamagitan ng resource \\wsl$).

Kapag pumipili ng default na configuration ng container (halimbawa, “Python 3” para sa mga proyektong Django), bubuuin ng VS Code ang folder .devcontainer na may Dockerfile at devcontainer.jsonMagsisimula ang VS Code ng isang development container, muling itatayo ang imahe kung kinakailangan, at magbubukas ng bagong window na konektado sa container na iyon.

Sa loob ng lalagyan, ang pinagsamang terminal ng VS Code Ipapakita nito na ikaw ay nasa Linux (maaari mo itong suriin gamit ang unameAng bersyon ng Python ay matutukoy ng imahe ng container, hindi ng naka-install sa iyong distribusyon ng WSL. Nagbibigay-daan ito sa iyo na magkaroon ng mga paulit-ulit at nakahiwalay na mga kapaligiran sa pag-develop para sa bawat proyekto.

Para i-debug ang iyong aplikasyon mula sa VS CodePumunta sa tab na “Run and Debug”, piliin ang naaangkop na configuration (halimbawa, “Django”), at ang VS Code ay lilikha ng launch.json gamit ang mga parameter ng pagsisimula. Ang pagpindot sa F5 ay magsisimula sa development server sa loob ng container at maaari mong buksan ang iyong application sa browser (halimbawa, sa http://127.0.0.1:8000/).

Pangunahing paggamit ng Docker sa Windows 11

Pag-configure ng Docker Desktop at WSL2 para sa pag-develop sa Windows 11

Kapag gumagana na ang Docker Desktop , maaari mo nang gamitin ang mga karaniwang utos ng Docker mula sa PowerShell at WSL upang pamahalaan ang mga imahe at container. Papayagan ka nitong higitan ang pangunahing pagsubok at mag-deploy ng mga totoong serbisyo.

Ang mga pinakakaraniwang ginagamit na utos sa simula ay karaniwang:

  • docker: ipinapakita ang listahan ng mga magagamit na utos.
  • docker <comando> --help: maikling dokumentasyon ng bawat utos.
  • docker image ls --all: listahan ng lahat ng mga imaheng nakaimbak sa iyong system.
  • docker container ls --all o docker ps -a: ipinapakita ang lahat ng lalagyan, tumatakbo o huminto.
  • docker info: pandaigdigang impormasyon tungkol sa instalasyon ng Docker (backend, memorya, bilang ng mga lalagyan, atbp.).

Mula sa graphical interface ng Docker Desktop, maaari ka ring maghanap ng mga larawan sa Docker Hub, "pull" para i-download ang mga ito, magsimula ng mga bagong container, tingnan ang paggamit ng CPU/RAM, o siyasatin ang mga log . Ito ay isang maginhawang paraan para makapagsimula kung hindi ka pa lubos na komportable sa command line.

Mahalagang tandaan na hindi lahat ng larawan ay pantay na maaasahan o ligtas . Kasama sa Docker Desktop ang mga vulnerability scan para sa ilang larawan, ngunit sa pangkalahatan, mainam na kasanayan ang paggamit ng mga opisyal o maayos na napanatiling larawan, suriin ang mga tag, at iwasan ang mga lumang larawan na may mga hindi na ginagamit na bahagi.

Pinakamahusay na kasanayan sa WSL2 at container para sa pag-develop

Para sa isang matatag at komportableng kapaligiran sa pag-unlad sa paglipas ng panahon , hindi sapat na "magsimula" lamang ito; ipinapayong sundin ang isang serye ng mabubuting kasanayan sa parehong WSL2 at Docker Desktop.

Sa WSL2, panatilihing na-update ang kernel at mga distribusyon. paggamit wsl --update Mula sa Windows at sa package manager (apt, dnf, atbp.) sa loob ng bawat distribution. Gumamit ng mga non-root user para sa pang-araw-araw na trabaho, ilaan ang root para sa mga partikular na administratibong gawain, at kontrolin ang pagkonsumo ng resource kung nagpapatakbo ka ng mabibigat na load (maaari mong limitahan ang WSL2 memory at CPU gamit ang mga configuration file).

Kapag nagde-develop gamit ang mga container , subukang panatilihin ang iyong code at mga tool sa iisang "side" (Linux o Windows) upang maiwasan ang mga I/O bottleneck na dulot ng paggamit ng mga cross-filesystem. Kung nagko-compile ka sa loob ng mga container, ilagay ang iyong mga proyekto sa WSL2 filesystem at i-access ang mga ito mula sa Docker gamit ang direct volumes.

Para sa mga kapaligirang pangkorporasyon o pangproduksyon , mahalagang dagdagan ang Docker ng mga tool sa orkestrasyon tulad ng Kubernetes at magpatupad ng mga karagdagang patakaran sa seguridad (pag-scan ng imahe, pagkontrol sa pag-access sa mga pribadong log, pag-ikot ng kredensyal, atbp.). Matutulungan ka ng mga espesyalisadong kumpanya na magdisenyo ng mga arkitektura ng pag-develop at pag-deploy, na isinasama ang mga serbisyo ng WSL2, Docker, CI/CD, at cloud (Azure, AWS) na may naaangkop na mga hakbang sa cybersecurity.

Tungkol sa seguridad sa loob ng WSL2 , kahit na tumatakbo ito sa isang magaan na VM, kailangan mo pa ring maglapat ng mga security patch, gumamit ng mga firewall, at protektahan ang parehong Windows host at ang mga distribusyon ng Linux. Tiyakin din na ang mga containerized application ay hindi naglalantad ng mga hindi kinakailangang port o serbisyo sa labas ng iyong network.

  Paano lumikha at mapanatili ang isang imahe ng system gamit ang DISM

Interoperability sa pagitan ng Windows at Linux sa WSL

Isa sa mga kalakasan ng WSL2 ay ang tuluy-tuloy na integrasyon sa pagitan ng mga utos ng Windows at Linux . Maaari mong pagsamahin ang mga tool mula sa parehong mundo sa iisang pipeline, na lubhang kapaki-pakinabang para sa scripting at automation.

Mula sa isang Windows terminal (PowerShell o CMD)Maaari mong ilunsad ang mga utos ng Linux sa pamamagitan ng wslHalimbawa, upang ilista ang mga nilalaman ng C:\temp paggamit ls -la mula sa Linux:

wsl ls -la

Maaari mo ring pagsamahin ang mga filter mula sa magkabilang panig , halimbawa:

wsl ls -la | findstr "git"

O kabaligtaran, gamit ang mga utos ng Windows mula sa WSL pagdaragdag .exeHalimbawa, para i-edit ang file .bashrc mula sa iyong user account gamit ang Windows Notepad:

notepad.exe .bashrc

Ang interoperability na ito ay nagpapadali sa mga gawain tulad ng salain ang output ng ipconfig.exe sa grepMagbukas ng mga graphic editor mula sa Linux, o gumamit ng mga file mula sa parehong system nang hindi kinakailangang palaging magpalit ng window.

Konpigurasyon ng Git, database, at GPU sa WSL2

Higit pa sa Docker, ang isang modernong kapaligiran sa pag-develop na may WSL2 ay karaniwang may kasamang version control gamit ang Git, mga database, at sa ilang mga kaso, GPU acceleration para sa machine learning o mga gawain na masinsinang ginagamit sa pagkalkula.

Para sa Git, ang rekomendasyon ay magtrabaho sa loob ng WSL2 gamit ang Linux Git CLI, na kumukonekta sa GitHub, GitLab, o mga katulad na serbisyo sa pamamagitan ng mga SSH key o mga credential manager. Ang VS Code ay mahusay na nakakapag-integrate sa Git at nagbibigay-daan sa iyong biswal na pamahalaan ang mga branch, commit, at conflict.

Tungkol sa mga database , maaari kang mag-install at mamahala ng mga engine tulad ng MySQL, PostgreSQL, MongoDB, Redis, o SQLite sa WSL2, at ikonekta ang iyong mga container sa mga ito o vice versa. May mga partikular na gabay para sa pagpapatakbo ng bawat isa sa mga database na ito sa WSL2, na sinasamantala ang kanilang halos katutubong pagganap.

Kung gumagamit ka ng AI o high-performance computing , sinusuportahan ng WSL2 ang GPU acceleration sa Windows 11 gamit ang mga naaangkop na driver . Nagbibigay-daan ito sa iyong magpatakbo ng mga framework tulad ng TensorFlow o PyTorch sa Linux, sa loob ng WSL2 o kahit sa mga Docker container, nang direkta gamit ang graphics card ng iyong computer.

Ang buong ecosystem na ito ay maaaring isama sa mga CI/CD pipeline at cloud services , upang ang iyong gagawin at susubukan sa iyong Windows laptop gamit ang WSL2 at Docker ay magmukhang halos kapareho ng environment na iyong ide-deploy sa production (sa mga container, Kubernetes, o managed services).

Pag-troubleshoot ng mga karaniwang problema sa Docker Desktop at WSL2

Gaano man kahusay mo itong i-set up, tiyak na may mga problemang lilitaw . Ang pag-alam sa mga karaniwang error at kung paano lutasin ang mga ito ay makakaiwas sa maraming sakit ng ulo, lalo na sa mga korporasyong may mga limitasyon sa network.

Ang isang klasikong halimbawa ay ang lumang konteksto ng Docker na "wsl" mula sa mga mas lumang teknikal na bersyon ng Docker para sa WSL. Kung patatakbuhin mo ang docker context ls at makikita mo ang kontekstong tinatawag na wslMalamang na ito ay lipas na at magdudulot ng mga error tulad ng “open //./pipe/docker_wsl: hindi mahanap ng system ang tinukoy na file”.

Ang solusyon ay kinabibilangan ng pagbura sa lumang kontekstong iyon gamit ang:

docker context rm wsl

Pagkatapos itong alisin, gagamitin ng Docker ang default na konteksto para sa parehong Windows at WSL2, na iniiwasan ang mga error sa koneksyon sa Docker daemon sa pamamagitan ng mga pipe na wala na.

Ang isa pang karaniwang problema ay ang pagtatrabaho sa likod ng isang corporate proxy. na nangangailangan ng pagpapatunay gamit ang usuario:contraseñaMadalas na nagkakaroon ng mga error ang Docker Desktop kapag isinasama ang mga kredensyal sa mga variable ng kapaligiran. HTTP_PROXY o sa direktang configuration ng programa, na nagpapakita ng mga mensahe tulad ng "invalid http proxy in user configuration: must not include credentials".

Sa mga kasong ito, mayroong ilang medyo mas ligtas na mga opsyonGumamit ng external authenticator proxy (tulad ng CNTLM) na namamahala ng mga kredensyal at naglalantad ng lokal na proxy nang walang username/password, i-configure ang proxy sa Windows at Docker nang hindi inilalagay ang mga kredensyal sa URL, o gumamit ng mga nakalaang credential store. Manu-manong na-edit settings.json o config.json Ang pagpilit sa paggamit ng username:password sa URL sa Docker Desktop ay kadalasang nagiging sanhi ng pagkabigo ng Docker na simulan o balewalain ang setting na iyon.

Kung ang problema ay nasa instalasyon ng WSL2 (mga error habang isinasagawa) wsl --install o kapag sinisimulan ang distro), ipinapayong suriin ang gabay sa pag-troubleshoot ng WSL: tiyaking maayos na pinagana ang mga feature ng Windows, na ang WSL2 kernel ay na-install nang tama at na ang sistema ay napapanahon sa mga pinakabagong patch.

Para sa iba pang mas tiyak na mga problema (Mga path ng imbakan ng Docker, pag-mount ng mga panlabas na disk, pagpapatakbo ng mga aplikasyon ng Linux GUI, atbp.), ang opisyal na dokumentasyon ng WSL at ang mga isyu sa repositoryo nito ay naglalaman ng mga halimbawang utos tulad ng wsl --mount at mga partikular na konpigurasyon para sa bawat kaso.

Sa lahat ng iyong nakita, mayroon ka nang matibay na pundasyon para sa pag-set up ng isang modernong development environment sa Windows 11 na sinusuportahan ng WSL2, Docker Desktop, at VS Code: magagawa mong gumamit ng mga Linux container na parang nasa isang native distribution ka, maisasama ang Git at mga database, magamit ang GPU acceleration kapag kailangan mo ito, at higit sa lahat, magagawa ito nang may performance at flexibility na higit na nakahihigit sa tradisyonal na virtualization, habang pinapanatili ang isang mahusay na antas ng seguridad at kontrol sa iyong mga resources.