Štai kaip gauti geriausią „Docker“ patirtį sistemoje „Windows“.
„Windows“ posistemis, skirtas „Linux 2“, yra fenomenalus „Windows 10“ ir „Windows 11“ įrankis, kuris sklandžiai integruojamas su „Docker“. Kaip kūrėjams labai svarbu suprasti, ką ši programinė įranga siūlo ir kaip galite maksimaliai išnaudoti savo Docker-WSL 2 sąranką.
Kas yra Dockeris?
„Docker“ yra atvirojo kodo platforma, leidžianti kūrėjams efektyviai kurti, diegti ir paleisti programas konteineryje. Visos priklausomybės yra sujungtos, todėl jūsų projektą galima lengvai įdiegti bet kurioje aplinkoje.
„Docker“ yra labai populiarus tarp daugelio konteinerių platformų, nes yra patikimas, funkcionalus ir labai keičiamas. Jis veikia naudojant „Docker“ variklį, esminį „DevOps“ įrankį, kuris suteikia švarią ir lengvą aplinką testavimui ir diegimui. „Docker“ yra panašus į virtualią mašiną, tačiau virtualizuoja operacinę sistemą, o ne pagrindinę aparatinę įrangą.
Programinės įrangos kūrėjams „Docker“ supaprastina darbo eigą, sukurdama atskirus konteinerius skirtingoms mikropaslaugoms, apimančias būtinas priklausomybes, bibliotekas ir konfigūracijas. Kiekvienas mikro paslaugų konteineris yra izoliuotas ir individualiai keičiamas.
Kaip naudoti „Docker“ naudojant WSL 2
„Docker“ suderinamas su visomis pagrindinėmis operacinėmis sistemomis, tokiomis kaip „Windows“, „MacOS“ ir „Linux“. Jei naudojate „Windows 10“ arba „Windows 11“, „Docker“ galite naudoti naudodami „Docker Desktop“ ir integruoti jį su Windows posisteme, skirta Linux 2 geresniam našumui. Galite atsisiųsti „Docker Desktop for Windows“ iš oficiali Docker svetainė.
„Windows“ posistemis, skirtas „Linux“ (WSL) yra vertinga funkcija, leidžianti „Windows“ vartotojams paleisti „Linux“ paskirstymus, tokius kaip „Ubuntu“ ir „Kali“, nenustatant virtualios mašinos ar dvigubo įkrovimo.
Tai taip pat reiškia, kad „Windows“ vartotojai gali tiesiogiai naudoti „Linux“ komandinės eilutės įrankius, taikomąsias programas ir paslaugas be papildomų diegimo veiksmų. Naujausia WSL versija WSL 2 suteikia didesnį stabilumą ir specialų Linux branduolį.
Kadangi „Docker“ konteineriai yra tvirti, netgi galite sukonfigūruoti juos, kad jie priglobtų serverį; nginx docker konteineriai dažniausiai naudojami kaip žiniatinklio serveriai. Be to, „Docker“ galite naudoti keliais kitais būdais:
- Lengvai paleiskite „Linux“ paskirstymus
- Mokymosi ar testavimo tikslais nustatykite žiniatinklio serverį
- Nešiojamos diegimo programos
- Sujunkite programą į vieną vaizdo failą
- Supaprastintas CI/CD dujotiekis
Turite susipažinti su geriausia „Docker“ naudojimo su Windows posisteme, skirta „Linux 2“, praktika, kaip ir su bet kuria kita platforma ar įrankiu. Kaip kūrėjas, iš asmeninės patirties galiu pasakyti, kad tapsite daug produktyvesni ir efektyvesni, kai į savo darbo eigą įtrauksite šiuos patarimus.
1. Integruokite VS kodą su WSL 2
„Visual Studio Code“ yra populiari IDE, mėgstama dėl neįtikėtinų funkcijų, bendruomenės ir plėtinių. Kaip kūrėjas, galimybė naudoti „Visual Studio Code“ programoms kurti „Windows“ platformoje Taip pat šių programų paleidimas „Linux“ branduolyje yra neįtikėtinai naudingas ir beveik neįtikėtinas funkcija.
Kai integruojate VS kodą į „Windows“ posistemį, skirtą „Linux“, galite pasinaudoti jo specializuotu „Linux“ branduoliu, kad pagerintumėte kelių platformų suderinamumą. Galite dar labiau supaprastinti savo darbo eigą naudodami integruotą terminalą VS Code su WSL 2.
Į nustatyti VS kodą su WSL 2 sistemoje Windows, galite konfigūruoti WSL plėtinį iš VS Code Marketplace ir pradėkite reikalus.
2. Naudokite WSL 2 failų sistemą
Norint tinkamai paleisti „Docker“ konteinerius, labai svarbu pasikliauti savo WSL 2 distribucijos failų sistema, o ne labai priklausyti nuo vietinės „Windows“ failų sistemos. Per visą savo patirtį dirbant su „Docker“ konteineriais WSL 2 sistemoje sužinojau, kad geriau saugoti projekto failus WSL.
3. Naudokite vietinius Linux scenarijus
Daugelis konteinerinių projektų, su kuriais dirbsite, tikriausiai bus su „Linux“ automatizavimo scenarijais. Paprastai šie scenarijai pirmiausia kuriami „Linux“, o „Windows“ kūrėjai nėra prioritetas.
Naudodami WSL 2, visa jūsų komanda gali naudoti tuos pačius Linux automatizavimo scenarijus ir jums nereikės rūpintis su Windows suderinamų automatizavimo scenarijų priežiūra savo komandai.
4. Sukonfigūruokite „BuildKit“, kad pagerintumėte saugumą ir našumą
„BuildKit“ yra atvirojo kodo įrankių rinkinys, pagerinantis tradicinį „Docker“ kūrimo procesą našumo ir saugumo požiūriu; jis tiesiogiai integruotas su „Docker“, todėl nereikia jo diegti atskirai.
Kai įjungiate BuildKit pagal numatytuosius nustatymus užtikrinate, kad jūsų sudėtiniai rodiniai būtų kuriami naudojant „BuildKit“ įrankių rinkinį, kad būtų užtikrinta geresnė apsauga, suderinamumas, lankstumas ir kaupimas talpykloje.
Norėdami įgalinti BuildKit pagal numatytuosius nustatymus, atlikite šiuos ~/.profile konfigūracijos failo pakeitimus:
eksportuoti DOCKER_BUILDKIT=1.
5. Nustatyti išteklių apribojimus
Kai integruojate WSL 2 pagrindinę programą su „Docker Desktop“, suteikiate „Docker“ prieigą prie visų savo procesoriaus išteklių. Tai pagerins konteinerių, kuriems reikia daug išteklių, našumą.
Tačiau kai kuriais atvejais konteineris gali skirti daug perteklinės atminties, todėl kritiniai OS procesai gali sugesti. Labiau tikėtina, kad tai patirsite naudodami duomenų bazės konteinerius arba talpyklos mikroservisą.
Laimei, galite sukonfigūruoti „Docker“ konteinerius, kad apribotumėte sistemos atmintį ir procesoriaus naudojimą. Visada turėtumėte būti atsargūs konfigūruodami sistemos atmintį, net ir nedidelė klaida gali turėti rimtų pasekmių. Galite kreiptis į oficiali Docker dokumentacija Norėdami gauti išsamesnį vadovą, kaip apriboti „Docker“ konteinerio sunaudojamos atminties ir procesoriaus išteklius.
6. Atkurti talpyklos atmintį
Jei naudojate „Docker“ konteinerį WSL 2, jo atmintis turėtų būti atlaisvinta, kai konteineris baigiasi. Deja, operacinės sistemos branduolys linkęs išlaikyti duomenis talpykloje; tai reiškia, kad WSL 2 atgautos efektyvios atminties nepakaks.
Galite atkurti visą atmintį, kuri be reikalo naudojama kaip talpykla, paleisdami šią komandą per WSL 2 root:
aidas 1 > /proc/sys/vm/drop_caches
Būkite išmanesni naudodami WSL 2
WSL 2 yra geriausia „Windows“ kūrėjų funkcija, visiškai pakeičianti kūrėjų naudojimą „Docker“. Kūrėjai turi suprasti geriausią „Docker“ naudojimo su WSL praktiką, kad pagerintų našumą, saugumą ir darbo eigos lankstumą.