6 советов по улучшению работы с WSL 2 Docker в Windows
Вот как получить наилучшие возможности Docker в Windows.
Подсистема Windows для Linux 2 — это фантастический инструмент для Windows 10 и 11, который легко интегрируется с Docker. Как разработчик, важно понимать, что предлагает это программное обеспечение и как максимально эффективно использовать настройку Docker-WSL 2.
Что такое Докер?
Docker — это платформа с открытым исходным кодом, которая позволяет разработчикам эффективно создавать, развертывать и запускать свои приложения в контейнерах. Все зависимости объединены, поэтому ваш проект можно легко развернуть в любой среде.
Docker очень популярен среди многих платформ контейнеризации, потому что он надежный, мощный и масштабируемый. Он работает на Docker Engine, незаменимом инструменте DevOps, который обеспечивает чистую и легкую среду для тестирования и развертывания. Docker похож на виртуальную машину, но он виртуализирует операционную систему, а не базовое оборудование.
Для разработчиков программного обеспечения Docker упрощает рабочий процесс, создавая отдельные контейнеры для разных микросервисов, включая необходимые зависимости, библиотеки и конфигурацию. Каждый контейнер микросервиса изолирован и может масштабироваться независимо.
Как использовать 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 настолько надежны, вы даже можете настроить их для размещения своих серверов; Docker-контейнеры nginx часто используются в качестве веб-серверов. Кроме того, вы можете использовать Docker несколькими другими способами:
- С легкостью запускайте дистрибутивы Linux
- Настройте веб-сервер для обучения или тестирования
- Портативное приложение для развертывания
- Объединение приложений в один файл изображения
- Упрощенный конвейер CI/CD
Вам следует прочитать руководство по использованию Docker с подсистемой Windows для Linux 2 так же, как и с любой другой платформой или инструментом. Как разработчик, я могу сказать по личному опыту, что как только вы включите следующие советы в свой рабочий процесс, ваша производительность резко повысится.
1 интегрируйте VS Code с WSL 2
Visual Studio Code — это популярная среда разработки, популярная благодаря своим невероятным функциям, сообществу и расширениям. Для разработчиков возможность использовать Visual Studio Code для разработки приложений на платформе Windows при одновременном запуске этих приложений на ядре Linux является очень выгодной и почти невероятной функцией.
Когда вы интегрируете VS Code в подсистему Windows для Linux, вы можете использовать специальное ядро Linux для улучшения межплатформенной совместимости. Вы можете дополнительно оптимизировать рабочий процесс с помощью встроенного терминала и WSL 2 в VS Code.
Чтобы настроить 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, чтобы повысить производительность, безопасность и гибкость рабочего процесса.