Ето как да получите най-доброто изживяване с Docker в Windows.

Подсистемата на Windows за Linux 2 е феноменален инструмент за Windows 10 и 11 и се интегрира безпроблемно с Docker. Като разработчици е важно да разберете какво предлага този софтуер и как можете да извлечете максимума от вашата настройка на Docker-WSL 2.

Какво е Docker?

Docker е платформа с отворен код, която позволява на разработчиците ефективно да изграждат, внедряват и изпълняват своите приложения в контейнер. Всички зависимости са групирани, така че вашият проект може лесно да бъде внедрен във всяка среда.

Docker е много популярен сред много платформи за контейнеризация, тъй като е надежден, функционален и силно мащабируем. Той работи на двигателя Docker, основен инструмент за DevOps, който осигурява чиста и лека среда за тестване и внедряване. Docker е подобен на виртуална машина, но виртуализира операционната система, а не основния хардуер.

За разработчиците на софтуер Docker рационализира работния процес, като създава отделни контейнери за различни микроуслуги, които включват необходимите зависимости, библиотеки и конфигурации. Всеки контейнер за микросервизи е изолиран и индивидуално мащабируем.

instagram viewer

Как да използвате Docker на WSL 2

Docker е съвместим с всички основни операционни системи, като Windows, macOS и Linux. Ако използвате Windows 10 или 11, можете да използвате Docker чрез Docker Desktop и интегрирайте го с подсистемата на Windows за Linux 2 за подобрена производителност. Можете да изтеглите Docker Desktop за Windows от официален уебсайт на Docker.

Подсистемата на Windows за Linux (WSL) е ценна функция, която позволява на потребителите на Windows да стартират Linux дистрибуции като Ubuntu и Kali, без да настройват виртуална машина или двойно зареждане.

Това също означава, че Потребителите на Windows могат директно да използват инструментите на командния ред на Linux, приложения и помощни програми без допълнителни стъпки за инсталиране. Най-новата версия на WSL, WSL 2, осигурява по-голяма стабилност и специално Linux ядро.

Тъй като Docker контейнерите са здрави, можете дори да ги конфигурирате да хостват вашия сървър; Докер контейнерите на nginx обикновено се използват като уеб сървъри. Освен това можете да използвате Docker по няколко други начина:

  • Стартирайте Linux дистрибуции лесно
  • Настройте уеб сървър за учебни или тестови цели
  • Преносими приложения за внедряване
  • Групирайте приложението в един файл с изображение
  • Опростен CI/CD конвейер

Трябва да се запознаете с най-добрите практики за използване на Docker с Windows Subsystem за Linux 2, точно както бихте направили с всяка друга платформа или инструмент. Като разработчик мога да кажа от личен опит, че ще станете много по-продуктивни и ефективни, след като интегрирате следните съвети в работния си процес.

1. Интегрирайте VS код с WSL 2

Visual Studio Code е популярна IDE, която е обичана поради своите невероятни функции, общност и разширения. Като разработчик, възможността да използвате Visual Studio Code за разработка на приложения на платформа Windows, докато също така стартирането на тези приложения на Linux ядро ​​е невероятно изгодно и почти невероятно особеност.

Когато интегрирате VS Code в подсистемата на Windows за Linux, можете да се възползвате от нейното специализирано Linux ядро, за да подобрите междуплатформената съвместимост. Можете допълнително да рационализирате своя работен процес, като използвате интегрирания терминал във VS Code с WSL 2.

Да се настройте VS Code с WSL 2 на Windows, можете да конфигурирате WSL разширение от VS Code Marketplace и да тръгнете нещата.

2. Използвайте файловата система WSL 2

За да стартирате правилно вашите Docker контейнери, жизненоважно е да разчитате на файловата система на вашата WSL 2 дистрибуция и да не зависи силно от собствената файлова система на Windows. През целия си опит в работата с Docker контейнери на WSL 2 открих, че е по-добре да съхранявате файловете на проекта си в WSL.

3. Използвайте собствени Linux скриптове

Много контейнерни проекти, върху които ще работите, вероятно ще се доставят със скриптове за автоматизация на Linux. Обикновено тези скриптове се разработват първо за Linux и разработчиците на Windows не са приоритет.

С WSL 2 целият ви екип може да използва едни и същи скриптове за автоматизация на Linux и не е нужно да се притеснявате за поддържането на съвместими с Windows скриптове за автоматизация за вашия екип.

4. Конфигурирайте BuildKit за подобрена сигурност и производителност

BuildKit е инструментариум с отворен код, който подобрява традиционния процес на изграждане на Docker по отношение на производителност и сигурност; той е директно интегриран с Docker, така че не е необходимо да го инсталирате отделно.

Когато активирате BuildKit по подразбиране вие ​​се уверявате, че вашите контейнери се изграждат с инструментариума BuildKit, което ви дава по-добра сигурност, паралелност, гъвкавост и кеширане.

За да активирате BuildKit по подразбиране, трябва да направите следните промени в конфигурационния файл ~/.profile:

износ DOCKER_BUILDKIT=1.

5. Настройте ограничения на ресурсите

Когато интегрирате бекенда на WSL 2 с Docker Desktop, вие давате на Docker достъп до всички ваши ресурси на процесора. Това помага да се подобри производителността за контейнери, които са с големи ресурси.

В някои случаи обаче контейнерът може да разпредели много излишна памет, причинявайки срив на критични процеси на ОС. По-вероятно е да изпитате това, когато използвате контейнери на база данни или кешираща микроуслуга.

За щастие можете да конфигурирате Docker контейнери, за да ограничите използването на системната памет и процесора. Винаги трябва да внимавате, когато конфигурирате системната памет, дори една малка грешка може да има значителни последствия. Можете да се обърнете към официална документация на Docker за по-подробно ръководство за ограничаване на паметта и ресурсите на процесора, консумирани от Docker контейнер.

6. Възстановяване на кеширана памет

Ако използвате Docker контейнер в WSL 2, неговата памет трябва да бъде освободена, след като контейнерът приключи. За съжаление, ядрото на операционната система има тенденция да поддържа данни в кеша; това означава, че ефективната памет, възстановена от WSL 2, няма да е достатъчна.

Можете да възстановите цялата памет, която ненужно се използва като кеш, като изпълните следната команда чрез root в WSL 2:

ехо 1 > /proc/sys/vm/drop_caches

Станете по-умни с WSL 2

WSL 2 е най-добрата функция за базирани на Windows разработчици, като напълно променя начина, по който разработчиците използват Docker. Разработчиците трябва да разберат най-добрите практики за използване на Docker с WSL, за да подобрят производителността, сигурността и гъвкавостта на работния процес.