Tukaj je opisano, kako pridobiti najboljšo izkušnjo Dockerja v sistemu Windows.
Podsistem Windows za Linux 2 je fenomenalno orodje v sistemih Windows 10 in 11 in se brezhibno integrira z Dockerjem. Kot razvijalci je bistveno, da razumete, kaj ponuja ta programska oprema in kako lahko kar najbolje izkoristite svojo nastavitev Docker-WSL 2.
Kaj je Docker?
Docker je odprtokodna platforma, ki razvijalcem omogoča učinkovito gradnjo, uvajanje in zagon svojih aplikacij v vsebniku. Vse odvisnosti so združene, tako da je mogoče vaš projekt preprosto uvesti v katerem koli okolju.
Docker je zelo priljubljen med številnimi kontejnerskimi platformami, ker je zanesljiv, funkcionalen in zelo razširljiv. Deluje na motorju Docker, bistvenem orodju DevOps, ki zagotavlja čisto in lahko okolje za testiranje in uvajanje. Docker je podoben virtualnemu stroju, vendar virtualizira operacijski sistem in ne osnovne strojne opreme.
Za razvijalce programske opreme Docker poenostavi potek dela z ustvarjanjem posameznih vsebnikov za različne mikrostoritve, ki vključujejo potrebne odvisnosti, knjižnice in konfiguracije. Vsak vsebnik mikrostoritve je izoliran in individualno razširljiv.
Kako uporabljati Docker na WSL 2
Docker je združljiv z vsemi večjimi operacijskimi sistemi, kot so Windows, macOS in Linux. Če uporabljate Windows 10 ali 11, lahko Docker uporabljate prek Docker Desktop in integrirajte ga s podsistemom Windows za Linux 2 za izboljšano delovanje. Docker Desktop za Windows lahko prenesete s spletnega mesta uradno spletno mesto Docker.
Podsistem Windows za Linux (WSL) je dragocena funkcija, ki uporabnikom sistema Windows omogoča zagon distribucij Linuxa, kot sta Ubuntu in Kali, brez nastavitve navideznega stroja ali dvojnega zagona.
To tudi pomeni, da Uporabniki sistema Windows lahko neposredno uporabljajo orodja ukazne vrstice Linux, aplikacije in pripomočki brez dodatnih namestitvenih korakov. Najnovejša različica WSL, WSL 2, zagotavlja večjo stabilnost in namensko jedro Linuxa.
Ker so vsebniki Docker robustni, jih lahko celo konfigurirate za gostovanje vašega strežnika; nginx docker vsebniki se pogosto uporabljajo kot spletni strežniki. Poleg tega lahko Docker uporabljate na več drugih načinov:
- Enostavno zaženite distribucije Linuxa
- Nastavite spletni strežnik za namene učenja ali testiranja
- Prenosne aplikacije za uvajanje
- Združite aplikacijo v eno slikovno datoteko
- Poenostavljen cevovod CI/CD
Seznaniti se morate z najboljšimi praksami za uporabo Dockerja s podsistemom Windows za Linux 2, tako kot s katero koli drugo platformo ali orodjem. Kot razvijalec lahko iz osebnih izkušenj rečem, da boste postali veliko bolj produktivni in učinkoviti, ko boste naslednje nasvete vključili v svoj potek dela.
1. Integrirajte kodo VS z WSL 2
Visual Studio Code je priljubljen IDE, ki ga obožujejo zaradi svojih neverjetnih funkcij, skupnosti in razširitev. Kot razvijalec, zmožnost uporabe Visual Studio Code za razvoj aplikacij na platformi Windows, medtem ko tudi izvajanje teh aplikacij v jedru Linuxa je neverjetno ugodno in skoraj neverjetno funkcija.
Ko integrirate kodo VS v podsistem Windows za Linux, lahko izkoristite njegovo specializirano jedro Linuxa za izboljšanje združljivosti med platformami. Svoj potek dela lahko dodatno poenostavite z uporabo integriranega terminala znotraj kode VS z WSL 2.
Za nastavite kodo VS z WSL 2 v sistemu Windows, lahko konfigurirate WSL razširitev iz VS Code Marketplace in zaženite stvari.
2. Uporabite datotečni sistem WSL 2
Za pravilno izvajanje vaših vsebnikov Docker je ključnega pomena, da se zanašate na datotečni sistem vaše distribucije WSL 2 in da niste močno odvisni od izvornega datotečnega sistema Windows. Med mojimi izkušnjami pri delu z vsebniki Docker na WSL 2 sem ugotovil, da je bolje shraniti vaše projektne datoteke znotraj WSL.
3. Uporabite izvorne skripte za Linux
Veliko kontejnerskih projektov, na katerih boste delali, bo verjetno opremljeno s skripti za avtomatizacijo v Linuxu. Običajno so ti skripti najprej razviti za Linux, razvijalci sistema Windows pa niso prednostna naloga.
Z WSL 2 lahko vaša celotna ekipa uporablja iste skripte za avtomatizacijo Linuxa in vam ni treba skrbeti za vzdrževanje skriptov za avtomatizacijo, združljivih s sistemom Windows, za vašo ekipo.
4. Konfigurirajte BuildKit za izboljšano varnost in zmogljivost
BuildKit je odprtokodni komplet orodij, ki izboljšuje tradicionalni postopek gradnje Dockerja v smislu zmogljivosti in varnosti; neposredno je integriran z Dockerjem, zato vam ga ni treba namestiti posebej.
Ko omogočite BuildKit privzeto poskrbite, da se vaši vsebniki gradijo s kompletom orodij BuildKit, kar vam zagotavlja boljšo varnost, sočasnost, prilagodljivost in predpomnjenje.
Če želite privzeto omogočiti BuildKit, morate narediti naslednje spremembe v konfiguracijski datoteki ~/.profile:
izvoz DOCKER_BUILDKIT=1.
5. Nastavite omejitve virov
Ko integrirate zaledje WSL 2 z namizjem Docker, omogočite Dockerju dostop do vseh virov CPU. To pomaga izboljšati zmogljivost za vsebnike, ki imajo veliko virov.
Vendar pa lahko v nekaterih primerih vsebnik dodeli veliko odvečnega pomnilnika, kar povzroči zrušitev kritičnih procesov OS. Večja je verjetnost, da boste to doživeli, ko uporabljate vsebnike baze podatkov ali mikrostoritev za predpomnjenje.
Na srečo lahko vsebnike Docker konfigurirate tako, da omejite uporabo sistemskega pomnilnika in procesorja. Pri konfiguriranju sistemskega pomnilnika bodite vedno previdni, že manjša napaka ima lahko pomembne posledice. Lahko se sklicujete na uradna dokumentacija Docker za podrobnejši vodnik o omejevanju virov pomnilnika in procesorja, ki jih porabi vsebnik Docker.
6. Obnovi predpomnjeni pomnilnik
Če uporabljate vsebnik Docker v WSL 2, je treba njegov pomnilnik sprostiti, ko se vsebnik zaključi. Na žalost jedro operacijskega sistema teži k ohranjanju podatkov v predpomnilniku; to pomeni, da efektivni pomnilnik, ki ga pridobi WSL 2, ne bo zadostoval.
Ves pomnilnik, ki se po nepotrebnem uporablja kot predpomnilnik, lahko obnovite tako, da zaženete naslednji ukaz prek root v WSL 2:
odmev 1 > /proc/sys/vm/drop_caches
Postanite pametnejši z WSL 2
WSL 2 je najboljša funkcija za razvijalce, ki uporabljajo sistem Windows, saj popolnoma spreminja način, kako razvijalci uporabljajo Docker. Razvijalci morajo razumeti najboljše prakse za uporabo Dockerja z WSL za izboljšanje zmogljivosti, varnosti in prilagodljivosti poteka dela.