
Jei dirbate kūrimo srityje, žinote, kad „Linux“ aplinkos nustatymas „Windows“ sistemoje visada buvo šiek tiek sudėtingas arba priklausomas nuo išorinių įrankių, kurie kartais gali būti per dideli. Na, „Microsoft“ sukūrė revoliuciją su „WSL Containers“ – funkcija, leidžiančia valdyti „Linux“ atvaizdus ir konteinerius tiesiogiai, nereikia pereiti „Docker Desktop“ ar sudėtingų įmonės licencijų kliūčių.
Šis įrankis nėra paprastas atnaujinimas, o paradigmos pokytis, kaip „Windows“ tvarko virtualizaciją. Integruojant galimybę paleisti konteinerius tiesiai į „Windows“ posistemį, skirtą „Linux“ , siekiama sukurti daug sklandesnį darbo eigą, pašalinant nereikalingus sluoksnius ir leidžiant kūrėjams sutelkti dėmesį į kodo rašymą, nesivaržant su operacinės sistemos konfigūracija.
Kas tiksliai yra WSL konteineriai?
Paprastai tariant, tai nauja WSL galimybė, leidžianti kurti ir paleisti „Linux“ konteinerius nereikalaujant išorinio demono. Jos pagrindas yra wslc.exe – intuityvi komandinės eilutės sąsaja, ypač jei jau esate susipažinę su „Docker“, nes komandos yra labai panašios. Iš tiesų, siekdama išvengti painiavos, „Microsoft“ įtraukė slapyvardį, vadinamą container.exe.
Tačiau ne viskas sukasi apie konsolę. Jie taip pat išleido WSL konteinerio API, prieinamą per „NuGet“ paketą. Tai grynas auksas tiems, kurie kuria gimtąsias „Windows“ programas (naudodami C#, C++ arba C) ir nori, kad jų programa valdytų „Linux“ konteinerius viduje, tvarkydama įvestį / išvestį (stdin / stdout), tinklo prijungimus ar net tiesioginę GPU prieigą dirbtinio intelekto užduotims naudojant „PyTorch“.
Pagrindiniai skirtumai, naudojant „Docker Desktop“
Daugelis svarsto, ar tai pakeis „Docker Desktop“. Trumpai tariant, daugeliu atvejų taip. Nors „Docker“ paprastai viskam naudoja vieną bendrą „Linux“ virtualią mašiną, „WSL Containers“ kiekvienam konteineriui paleidžia nepriklausomas „Hyper-V“ mikrovirtualias mašinas . Tai reiškia, kad kiekvienas procesas turi savo atminties ir saugyklos biudžetą, todėl vienas konteineris negali „šnipinėti“ kito ir pagerėja saugumas.
Kitas svarbus aspektas – kaina. Didelėms įmonėms „Docker Desktop“ reikia mokėti, o „Windows 11“ sistemoje WSL konteineriai yra be jokio papildomo mokesčio. Tačiau yra svarbi detalė: jums reikia „Windows 11 Pro“, „Enterprise“ arba „Education“ , nes „Home“ versija nepalaiko „Hyper-V“ izoliacijos, būtinos, kad visa tai veiktų.
Kaip žingsnis po žingsnio paleisti ir paleisti
Jei norite pradėti eksperimentuoti, pirmiausia įsitikinkite, kad turite WSL 2.9.3 arba naujesnę versiją. Kadangi ji vis dar yra peržiūros stadijoje, turėsite atidaryti terminalą kaip administratorius ir paleisti komandą `wsl --update --pre-release` . Atnaujinus, galite įjungti funkciją paleisdami `wsl --install-feature containers`.
Norėdami patikrinti, ar viskas tvarkoje, tiesiog įveskite wslc versionJei norite be jokių komplikacijų paleisti savo pirmąjį konteinerį, pabandykite su wslc run --rm hello-worldVaizdas bus automatiškai atsisiųstas ir bus rodomas pasisveikinimas, patvirtinantis, kad sistema veikia. Čia galite naudoti tokias komandas kaip wslc konteineris ps pamatyti, kas gyva ar wslc atvaizdas ls peržiūrėti savo vietinius vaizdus.
Kurkite savo vaizdus ir optimizuokite darbo eigą
Jei norite pakelti tai į kitą lygį, idealus sprendimas yra naudoti „Visual Studio“ kodą su WSL plėtiniu. Norėdami sukurti savo atvaizdą, jums reikia failo, vadinamo „Containerfile“ (labai panašaus į „Dockerfile“), ir pasikonsultuoti su gerais programavimo vadovėliais, kad struktūrizuotumėte savo programą. Pavyzdžiui, jei kuriate „Django“ programą, turėtumėte apibrėžti „Python“ atvaizdą, nukopijuoti reikalavimus ir atidaryti 8000 prievadą.
Kompiliavimo procesas yra paprastas: jūs naudojate wslc build -t jūsų-programėlės-pavadinimas . ir tada paleisite jį su wslc run -d -p 8000:8000 --name mi-app nombre-de-tu-appGalingiausia yra tai, kad galite tai integruoti į MSBuild arba CMake, todėl konteinerio kūrimas tampa jūsų projekto kūrimo proceso dalimi.
Našumas, tinklai ir saugykla
„Microsoft“ ne tik nušlavė paviršių. Jie įdiegė „virtiofs“ kaip numatytąją failų sistemą, kuri žymiai pagreitina duomenų perdavimą tarp „Windows“ ir „Linux“, pašalindama erzinantį lėto prijungimo trukdį. Be to, yra eksperimentinis tinklo režimas, vadinamas „consomme“ , kuris yra naudingas tiems, kurie dirba įmonių aplinkoje, nes jis išsprendžia tipinius konfliktus su įmonių VPN , sumaniau nukreipdamas srautą.
Kalbant apie išteklių valdymą, sistema agresyviau atleidžia atmintį pagrindiniam kompiuteriui. Kadangi tai yra lengvos virtualios mašinos, sustabdžius konteinerį, atmintis atsigauna greičiau nei monolitiniame modelyje. Kad diskas būtų švarus, nepamirškite naudoti wslc container prune y wslc image prune kad ištrintumėte tai, ko nebenaudojate.
Ši technologija yra reikšmingas žingsnis į priekį, nes konteinerizavimas integruojamas tiesiai į „Windows 11“ branduolį, o tai leidžia kūrėjams pašalinti trečiųjų šalių programinę įrangą ir optimizuoti našumą naudojant „Hyper-V“ izoliaciją ir „virtiofs“ sistemą. Atsiradus „wslc.exe“ komandinės eilutės sąsajos ir „VS Code“ suderinamumui, sukuriama patikima, nemokama ir efektyvi aplinka, kuri supaprastina „Linux“ darbo krūvių vykdymą, nors norint visapusiškai išnaudoti jos galimybes, reikalinga profesionali „Windows“ versija.






