Oto jak uzyskać najlepsze wrażenia z Dockera w systemie Windows.

Podsystem Windows dla systemu Linux 2 to fenomenalne narzędzie w systemach Windows 10 i 11, które bezproblemowo integruje się z platformą Docker. Jako programiści bardzo ważne jest, aby zrozumieć, co oferuje to oprogramowanie i jak najlepiej wykorzystać konfigurację Docker-WSL 2.

Co to jest Docker?

Docker to platforma typu open source, która umożliwia programistom wydajne tworzenie, wdrażanie i uruchamianie aplikacji w kontenerze. Wszystkie zależności są spakowane, dzięki czemu Twój projekt można łatwo wdrożyć w dowolnym środowisku.

Docker jest bardzo popularny wśród wielu platform do konteneryzacji, ponieważ jest niezawodny, funkcjonalny i wysoce skalowalny. Działa na silniku Docker, niezbędnym narzędziu DevOps, które zapewnia czyste i lekkie środowisko do testowania i wdrażania. Docker jest podobny do maszyny wirtualnej, ale wirtualizuje system operacyjny, a nie podstawowy sprzęt.

Dla twórców oprogramowania Docker usprawnia przepływ pracy, tworząc indywidualne kontenery dla różnych mikrousług, które zawierają niezbędne zależności, biblioteki i konfiguracje. Każdy kontener mikrousług jest izolowany i indywidualnie skalowalny.

Jak używać Dockera w WSL 2

Docker jest kompatybilny ze wszystkimi głównymi systemami operacyjnymi, takimi jak Windows, macOS i Linux. Jeśli korzystasz z systemu Windows 10 lub 11, możesz używać Dockera za pośrednictwem Docker Desktop i zintegrować go z Podsystemem Windows dla systemu Linux 2 dla lepszej wydajności. Możesz pobrać Docker Desktop dla Windows z oficjalna strona Dockera.

Podsystem Windows dla systemu Linux (WSL) to cenna funkcja, która pozwala użytkownikom systemu Windows uruchamiać dystrybucje Linuksa, takie jak Ubuntu i Kali, bez konfigurowania maszyny wirtualnej lub podwójnego rozruchu.

Oznacza to również, że Użytkownicy systemu Windows mogą bezpośrednio korzystać z narzędzi wiersza poleceń systemu Linux, aplikacje i narzędzia bez dodatkowych czynności instalacyjnych. Najnowsza wersja WSL, WSL 2, zapewnia większą stabilność i dedykowane jądro Linuksa.

Ponieważ kontenery Docker są solidne, możesz nawet skonfigurować je do hostowania swojego serwera; Kontenery dokerów nginx są powszechnie używane jako serwery WWW. Dodatkowo możesz używać Dockera na kilka innych sposobów:

  • Łatwo uruchamiaj dystrybucje Linuksa
  • Skonfiguruj serwer WWW do celów edukacyjnych lub testowych
  • Przenośne wdrażanie aplikacji
  • Połącz aplikację w jeden plik obrazu
  • Uproszczony potok CI/CD

Musisz zapoznać się z najlepszymi praktykami korzystania z Dockera w podsystemie Windows dla systemu Linux 2, tak jak w przypadku każdej innej platformy lub narzędzia. Jako programista mogę powiedzieć z własnego doświadczenia, że ​​po zintegrowaniu poniższych wskazówek ze swoim przepływem pracy staniesz się znacznie bardziej produktywny i wydajny.

1. Zintegruj VS Code z WSL 2

Visual Studio Code to popularne IDE, które jest uwielbiane ze względu na niesamowite funkcje, społeczność i rozszerzenia. Jako programista umiejętność korzystania z Visual Studio Code do tworzenia aplikacji na platformę Windows podczas gdy również uruchamianie tych aplikacji na jądrze Linuksa jest niezwykle korzystne i prawie niewiarygodne funkcja.

Gdy integrujesz VS Code z podsystemem Windows dla systemu Linux, możesz skorzystać z wyspecjalizowanego jądra systemu Linux w celu zwiększenia kompatybilności między platformami. Możesz dodatkowo usprawnić przepływ pracy, korzystając ze zintegrowanego terminala w VS Code z WSL 2.

Do skonfiguruj kod VS z WSL 2 w systemie Windows, możesz skonfigurować WSL rozszerzenie z VS Code Marketplace i zacznij działać.

2. Wykorzystaj system plików WSL 2

Aby poprawnie uruchomić kontenery Docker, ważne jest, abyś polegał na systemie plików swojej dystrybucji WSL 2 i nie polegał zbytnio na natywnym systemie plików Windows. Podczas mojego doświadczenia w pracy z kontenerami Docker w WSL 2 odkryłem, że lepiej jest przechowywać pliki projektu w WSL.

3. Używaj natywnych skryptów systemu Linux

Wiele kontenerowych projektów, nad którymi będziesz pracować, prawdopodobnie będzie zawierało skrypty do automatyzacji w systemie Linux. Zazwyczaj te skrypty są najpierw opracowywane dla systemu Linux, a programiści Windows nie są priorytetem.

Dzięki WSL 2 cały Twój zespół może korzystać z tych samych skryptów automatyzacji systemu Linux i nie musisz się martwić o utrzymywanie zgodnych z systemem Windows skryptów automatyzacji dla swojego zespołu.

4. Skonfiguruj BuildKit w celu zwiększenia bezpieczeństwa i wydajności

BuildKit to zestaw narzędzi typu open source, który poprawia tradycyjny proces budowania Dockera pod względem wydajności i bezpieczeństwa; jest bezpośrednio zintegrowany z Dockerem, więc nie musisz instalować go osobno.

Kiedy włączysz Zestaw do budowania domyślnie upewniasz się, że Twoje kontenery są budowane za pomocą zestawu narzędzi BuildKit, co zapewnia lepsze bezpieczeństwo, współbieżność, elastyczność i buforowanie.

Aby domyślnie włączyć BuildKit, należy wprowadzić następujące zmiany w pliku konfiguracyjnym ~/.profile:

eksport DOCKER_BUILDKIT=1.

5. Ustaw limity zasobów

Integrując backend WSL 2 z Docker Desktop, zapewniasz Dockerowi dostęp do wszystkich zasobów procesora. Takie postępowanie pomaga poprawić wydajność kontenerów, które są obciążające zasoby.

Jednak w niektórych przypadkach kontener może przydzielić dużo nadmiarowej pamięci, powodując awarię krytycznych procesów systemu operacyjnego. Bardziej prawdopodobne jest, że wystąpi to podczas korzystania z kontenerów bazy danych lub mikrousługi buforowania.

Na szczęście można skonfigurować kontenery Docker, aby ograniczyć użycie pamięci systemowej i procesora. Zawsze należy zachować ostrożność podczas konfigurowania pamięci systemowej, nawet drobny błąd może mieć poważne konsekwencje. Możesz odnieść się do oficjalna dokumentacja Dockera aby uzyskać bardziej szczegółowy przewodnik dotyczący ograniczania zasobów pamięci i procesora zużywanych przez kontener platformy Docker.

6. Odzyskaj pamięć podręczną

Jeśli używasz kontenera Docker w WSL 2, jego pamięć powinna zostać zwolniona po zakończeniu działania kontenera. Niestety jądro systemu operacyjnego ma tendencję do przechowywania danych w pamięci podręcznej; oznacza to, że efektywna pamięć odzyskana przez WSL 2 nie będzie wystarczająca.

Możesz odzyskać całą pamięć, która jest niepotrzebnie wykorzystywana jako pamięć podręczna, uruchamiając następujące polecenie za pośrednictwem roota w WSL 2:

Echo 1 > /proc/sys/vm/drop_caches

Bądź mądrzejszy dzięki WSL 2

WSL 2 to najlepsza funkcja dla programistów pracujących w systemie Windows, całkowicie zmieniająca sposób, w jaki programiści korzystają z Dockera. Deweloperzy muszą znać najlepsze praktyki korzystania z Dockera z WSL, aby poprawić wydajność, bezpieczeństwo i elastyczność przepływu pracy.