Tu je návod, ako získať najlepšie skúsenosti s Dockerom v systéme Windows.

Windows Subsystém pre Linux 2 je fenomenálny nástroj pre Windows 10 a 11 a bezproblémovo sa integruje s Dockerom. Ako vývojári je dôležité pochopiť, čo tento softvér ponúka a ako môžete z nastavenia Docker-WSL 2 vyťažiť maximum.

Čo je Docker?

Docker je platforma s otvoreným zdrojovým kódom, ktorá umožňuje vývojárom efektívne vytvárať, nasadzovať a spúšťať svoje aplikácie v rámci kontajnera. Všetky závislosti sú spojené, takže váš projekt možno jednoducho nasadiť v akomkoľvek prostredí.

Docker je veľmi populárny medzi mnohými platformami kontajnerizácie, pretože je spoľahlivý, funkčný a vysoko škálovateľný. Beží na Docker engine, základnom nástroji DevOps, ktorý poskytuje čisté a ľahké prostredie na testovanie a nasadenie. Docker je podobný virtuálnemu stroju, ale virtualizuje skôr operačný systém než základný hardvér.

Pre vývojárov softvéru Docker zefektívňuje pracovný tok vytváraním jednotlivých kontajnerov pre rôzne mikroslužby, ktoré zahŕňajú potrebné závislosti, knižnice a konfigurácie. Každý kontajner mikroslužieb je izolovaný a individuálne škálovateľný.

instagram viewer

Ako používať Docker na WSL 2

Docker je kompatibilný so všetkými hlavnými operačnými systémami, ako sú Windows, macOS a Linux. Ak používate Windows 10 alebo 11, môžete Docker používať cez Docker Desktop a integrovať ho so subsystémom Windows pre Linux 2 pre lepší výkon. Docker Desktop pre Windows si môžete stiahnuť z oficiálna stránka Docker.

Windows Subsystem for Linux (WSL) je cenná funkcia, ktorá umožňuje používateľom systému Windows spúšťať distribúcie Linuxu, ako sú Ubuntu a Kali, bez nastavenia virtuálneho počítača alebo dvojitého spustenia.

To tiež znamená Používatelia systému Windows môžu priamo používať nástroje príkazového riadka systému Linux, aplikácií a pomôcok bez ďalších krokov inštalácie. Najnovšia verzia WSL, WSL 2, poskytuje väčšiu stabilitu a vyhradené jadro Linuxu.

Keďže kontajnery Docker sú robustné, môžete ich dokonca nakonfigurovať tak, aby hostili váš server; nginx docker kontajnery sa bežne používajú ako webové servery. Okrem toho môžete Docker použiť niekoľkými ďalšími spôsobmi:

  • Spustite distribúcie Linuxu jednoducho
  • Nastavte webový server na vzdelávacie alebo testovacie účely
  • Prenosné nasadzovacie aplikácie
  • Zbaliť aplikáciu do jedného obrazového súboru
  • Zjednodušený kanál CI/CD

Musíte sa oboznámiť s osvedčenými postupmi na používanie Dockera so subsystémom Windows pre Linux 2, rovnako ako s akoukoľvek inou platformou alebo nástrojom. Ako vývojár môžem z vlastnej skúsenosti povedať, že sa stanete oveľa produktívnejšími a efektívnejšími, keď do svojho pracovného postupu začleníte nasledujúce tipy.

1. Integrujte kód VS s WSL 2

Visual Studio Code je populárne IDE, ktoré je obľúbené vďaka svojim neuveriteľným funkciám, komunite a rozšíreniam. Ako vývojár, možnosť používať Visual Studio Code na vývoj aplikácií na platforme Windows spustenie týchto aplikácií na linuxovom jadre je tiež neuveriteľne výhodné a takmer neuveriteľné vlastnosť.

Keď integrujete kód VS do podsystému Windows pre Linux, môžete využiť jeho špecializované jadro Linux na zvýšenie kompatibility medzi platformami. Svoj pracovný tok môžete ďalej zefektívniť využitím integrovaného terminálu v rámci VS Code s WSL 2.

Komu nastaviť kód VS s WSL 2 v systéme Windows, môžete nakonfigurovať WSL rozšírenie z VS Code Marketplace a rozbehnite veci.

2. Využite súborový systém WSL 2

Ak chcete správne spustiť svoje kontajnery Docker, je dôležité, aby ste sa spoliehali na súborový systém vašej distribúcie WSL 2 a neboli silne závislí na natívnom súborovom systéme Windows. Počas mojich skúseností s prácou s kontajnermi Docker na WSL 2 som zistil, že je lepšie ukladať súbory projektu v rámci WSL.

3. Používajte natívne skripty pre Linux

Mnoho kontajnerových projektov, na ktorých budete pracovať, bude pravdepodobne obsahovať skripty na automatizáciu v systéme Linux. Zvyčajne sú tieto skripty najprv vyvinuté pre Linux a vývojári Windows nie sú prioritou.

S WSL 2 môže celý váš tím používať rovnaké automatizačné skripty pre Linux a nemusíte sa starať o údržbu automatizačných skriptov kompatibilných so systémom Windows pre váš tím.

4. Nakonfigurujte BuildKit pre lepšie zabezpečenie a výkon

BuildKit je súprava nástrojov s otvoreným zdrojovým kódom, ktorá zlepšuje tradičný proces zostavovania Docker z hľadiska výkonu a bezpečnosti; je priamo integrovaný s Dockerom, takže ho nemusíte inštalovať samostatne.

Keď povolíte BuildKit v predvolenom nastavení zabezpečujete, že vaše kontajnery sú vytvárané pomocou súpravy nástrojov BuildKit, ktorá vám poskytuje lepšiu bezpečnosť, súbežnosť, flexibilitu a ukladanie do vyrovnávacej pamäte.

Ak chcete štandardne povoliť BuildKit, mali by ste v konfiguračnom súbore ~/.profile vykonať nasledujúce zmeny:

export DOCKER_BUILDKIT=1.

5. Nastavte limity zdrojov

Keď integrujete backend WSL 2 s Docker Desktop, poskytnete Dockeru prístup ku všetkým zdrojom vášho CPU. Pomôže to zlepšiť výkon kontajnerov, ktoré sú náročné na zdroje.

V niektorých prípadoch však môže kontajner prideliť veľa nadbytočnej pamäte, čo spôsobí zlyhanie kritických procesov operačného systému. S väčšou pravdepodobnosťou sa s tým stretnete pri používaní databázových kontajnerov alebo mikroslužby ukladania do vyrovnávacej pamäte.

Našťastie môžete nakonfigurovať kontajnery Docker na obmedzenie systémovej pamäte a využitia procesora. Pri konfigurácii systémovej pamäte by ste mali byť vždy opatrní, aj malá chyba môže mať závažné následky. Môžete sa odvolať na oficiálna dokumentácia Docker pre podrobnejší návod na obmedzenie pamäte a zdrojov CPU spotrebovaných kontajnerom Docker.

6. Obnovte vyrovnávaciu pamäť

Ak používate kontajner Docker vo WSL 2, jeho pamäť by sa mala uvoľniť, keď kontajner skončí. Bohužiaľ, jadro operačného systému má tendenciu uchovávať údaje vo vyrovnávacej pamäti; to znamená, že efektívna pamäť získaná WSL 2 nebude dostatočná.

Všetku pamäť, ktorá sa zbytočne využíva ako vyrovnávaciu pamäť, môžete obnoviť spustením nasledujúceho príkazu cez root vo WSL 2:

ozvena 1 > /proc/sys/vm/drop_caches

Buďte múdrejší s WSL 2

WSL 2 je najlepšia funkcia pre vývojárov so systémom Windows, ktorá úplne mení spôsob, akým vývojári používajú Docker. Vývojári musia pochopiť najlepšie postupy používania Docker s WSL, aby zlepšili výkon, bezpečnosť a flexibilitu pracovného toku.