Lūk, kā iegūt vislabāko Docker pieredzi operētājsistēmā Windows.
Windows apakšsistēma operētājsistēmai Linux 2 ir fenomenāls rīks operētājsistēmās Windows 10 un 11, un tas ir nemanāmi integrējams ar Docker. Kā izstrādātājiem ir svarīgi saprast, ko šī programmatūra piedāvā un kā jūs varat maksimāli izmantot savu Docker-WSL 2 iestatījumu.
Kas ir Docker?
Docker ir atvērtā pirmkoda platforma, kas ļauj izstrādātājiem efektīvi izveidot, izvietot un palaist savas lietojumprogrammas konteinerā. Visas atkarības ir apvienotas, lai jūsu projektu varētu viegli izvietot jebkurā vidē.
Docker ir ļoti populārs daudzu konteinerizācijas platformu vidū, jo tas ir uzticams, funkcionāls un ļoti mērogojams. Tas darbojas ar Docker dzinēju, kas ir būtisks DevOps rīks, kas nodrošina tīru un vieglu vidi testēšanai un izvietošanai. Docker ir līdzīgs virtuālajai mašīnai, taču virtualizē operētājsistēmu, nevis pamata aparatūru.
Programmatūras izstrādātājiem Docker racionalizē darbplūsmu, izveidojot atsevišķus konteinerus dažādiem mikropakalpojumiem, kas ietver vajadzīgās atkarības, bibliotēkas un konfigurācijas. Katrs mikropakalpojumu konteiners ir izolēts un individuāli mērogojams.
Kā lietot Docker WSL 2
Docker ir saderīgs ar visām galvenajām operētājsistēmām, piemēram, Windows, macOS un Linux. Ja izmantojat operētājsistēmu Windows 10 vai 11, varat izmantot Docker, izmantojot Docker Desktop un integrējiet to ar Windows apakšsistēmu operētājsistēmai Linux 2 uzlabotai veiktspējai. Jūs varat lejupielādēt Docker Desktop for Windows no oficiālā Docker vietne.
Windows apakšsistēma operētājsistēmai Linux (WSL) ir vērtīga funkcija, kas ļauj Windows lietotājiem palaist tādus Linux izplatījumus kā Ubuntu un Kali, neiestatot virtuālo mašīnu vai duālo sāknēšanu.
Tas arī nozīmē, ka Windows lietotāji var tieši izmantot Linux komandrindas rīkus, lietojumprogrammas un utilītas bez papildu instalēšanas darbībām. Jaunākā WSL versija WSL 2 nodrošina lielāku stabilitāti un īpašu Linux kodolu.
Tā kā Docker konteineri ir izturīgi, jūs pat varat konfigurēt tos servera mitināšanai; nginx docker konteineri parasti tiek izmantoti kā tīmekļa serveri. Turklāt jūs varat izmantot Docker vairākos citos veidos:
- Viegli palaidiet Linux distros
- Iestatiet tīmekļa serveri mācību vai testēšanas nolūkos
- Pārnēsājamas izvietošanas lietojumprogrammas
- Apvienojiet lietojumprogrammu vienā attēla failā
- Vienkāršots CI/CD cauruļvads
Jums ir jāiepazīstas ar paraugpraksi Docker izmantošanai ar Windows apakšsistēmu operētājsistēmai Linux 2, tāpat kā ar jebkuru citu platformu vai rīku. Kā izstrādātājs no personīgās pieredzes varu teikt, ka jūs kļūsit daudz produktīvāks un efektīvāks, kad savā darbplūsmā integrēsit tālāk sniegtos padomus.
1. Integrējiet VS kodu ar WSL 2
Visual Studio Code ir populārs IDE, kas ir iemīļots tā neticamo funkciju, kopienas un paplašinājumu dēļ. Kā izstrādātājam ir iespēja izmantot Visual Studio kodu lietotņu izstrādei Windows platformā arī šo lietotņu palaišana Linux kodolā ir neticami izdevīga un gandrīz neticama funkciju.
Integrējot VS kodu Windows apakšsistēmā operētājsistēmai Linux, varat izmantot tā specializēto Linux kodolu, lai uzlabotu saderību starp platformām. Varat vēl vairāk racionalizēt savu darbplūsmu, izmantojot VS Code ar WSL 2 integrēto termināli.
Uz iestatiet VS kodu ar WSL 2 operētājsistēmā Windows, varat konfigurēt WSL paplašinājumu no VS Code Marketplace un sāciet darbu.
2. Izmantojiet WSL 2 failu sistēmu
Lai pareizi palaistu Docker konteinerus, ir ļoti svarīgi, lai jūs paļautos uz sava WSL 2 distribūcijas failu sistēmu un nebūtu lielā mērā atkarīga no sākotnējās Windows failu sistēmas. Savas pieredzes laikā, strādājot ar Docker konteineriem WSL 2, esmu atklājis, ka labāk ir saglabāt projektu failus WSL.
3. Izmantojiet vietējos Linux skriptus
Daudziem konteineru projektiem, pie kuriem strādāsit, iespējams, būs skripti automatizācijai operētājsistēmā Linux. Parasti šie skripti vispirms tiek izstrādāti operētājsistēmai Linux, un Windows izstrādātāji nav prioritāte.
Izmantojot WSL 2, visa jūsu komanda var izmantot tos pašus Linux automatizācijas skriptus, un jums nav jāuztraucas par ar Windows saderīgu automatizācijas skriptu uzturēšanu savai komandai.
4. Konfigurējiet BuildKit, lai uzlabotu drošību un veiktspēju
BuildKit ir atvērtā pirmkoda rīku komplekts, kas uzlabo tradicionālo Docker veidošanas procesu veiktspējas un drošības ziņā; tas ir tieši integrēts ar Docker, tāpēc jums tas nav jāinstalē atsevišķi.
Kad iespējojat BuildKit pēc noklusējuma jūs pārliecināsities, ka jūsu konteineri tiek veidoti, izmantojot BuildKit rīkkopu, nodrošinot labāku drošību, vienlaicīgumu, elastību un kešatmiņu.
Lai pēc noklusējuma iespējotu BuildKit, ~/.profile konfigurācijas failā ir jāveic šādas izmaiņas:
eksportēt DOCKER_BUILDKIT=1.
5. Iestatiet resursu ierobežojumus
Integrējot WSL 2 aizmugursistēmu ar Docker Desktop, jūs piešķirat Docker piekļuvi visiem jūsu CPU resursiem. Tas palīdz uzlabot to konteineru veiktspēju, kuriem ir daudz resursu.
Tomēr dažos gadījumos konteiners var piešķirt daudz liekās atmiņas, izraisot kritisko OS procesu avāriju. Visticamāk, ka tas notiks, izmantojot datu bāzes konteinerus vai kešatmiņas mikropakalpojumu.
Par laimi, jūs varat konfigurēt Docker konteinerus, lai ierobežotu sistēmas atmiņu un CPU izmantošanu. Konfigurējot sistēmas atmiņu, vienmēr jābūt uzmanīgiem, pat neliela kļūda var radīt nopietnas sekas. Jūs varat atsaukties uz oficiālā Docker dokumentācija lai iegūtu detalizētāku rokasgrāmatu par Docker konteinera patērētās atmiņas un CPU resursu ierobežošanu.
6. Atgūt kešatmiņu
Ja izmantojat Docker konteineru WSL 2, tā atmiņa ir jāatbrīvo, tiklīdz konteiners tiek pārtraukts. Diemžēl operētājsistēmas kodolam ir tendence saglabāt datus kešatmiņā; tas nozīmē, ka ar WSL 2 atgūto efektīvo atmiņu nepietiks.
Varat atgūt visu atmiņu, kas tiek nevajadzīgi izmantota kā kešatmiņa, WSL 2 saknē izpildot šādu komandu:
atbalss 1 > /proc/sys/vm/drop_caches
Kļūstiet gudrāki, izmantojot WSL 2
WSL 2 ir labākā funkcija Windows izstrādātājiem, pilnībā mainot to, kā izstrādātāji izmanto Docker. Izstrādātājiem ir jāsaprot paraugprakse Docker lietošanai ar WSL, lai uzlabotu veiktspēju, drošību un darbplūsmas elastību.