Пълно ръководство за WSL контейнери: Нативната алтернатива на Docker в Windows

  • Имплементация на нативен Linux контейнерен слой, използвайки wslc.exe CLI и програмируем API за разработчици.
  • Архитектура, базирана на микро-виртуални машини Hyper-V, която осигурява превъзходна изолация и по-ефективно управление на ресурсите.
  • Премахване на зависимостта от търговски лицензи на трети страни чрез директно интегриране в екосистемата на Windows 11.

Модерна среда за разработка с лаптоп, показващ редактор на код за програмиране в WSL контейнери

Ако работите в разработката, знаете, че настройването на Linux среда на Windows винаги е било малко тромаво или зависимо от външни инструменти, които понякога могат да бъдат твърде големи. Е, Microsoft направи революционна промяна с WSL Containers , функция, която ни позволява да управляваме Linux образи и контейнери директно, без да се налага да преминаваме през обръчите на Docker Desktop или неговите сложни корпоративни лицензи.

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

Linux
Свързана статия:
Linux се утвърждава като невидимия стълб на телекомуникациите и облака.

Какво точно представляват WSL контейнерите?

Професионален програмист, работещ върху разработката на приложения, използвайки подсистемата Windows за Linux

Казано по-просто, това е нова WSL функция, която ви позволява да създавате и стартирате Linux контейнери, без да е необходим външен демон. В основата ѝ е wslc.exe , интерфейс от команден ред, проектиран да бъде интуитивен, особено ако вече сте запознати с Docker, тъй като командите са много сходни. Всъщност, за да се избегне объркване, Microsoft е включила псевдоним, наречен container.exe.

Но не всичко е свързано с конзолата. Те също така пуснаха WSL контейнерен API, достъпен чрез NuGet пакет. Това е чисто злато за тези, които разработват нативни Windows приложения (използвайки C#, C++ или C) и искат програмата им да управлява Linux контейнери вътрешно, обработвайки вход/изход (stdin/stdout), мрежово монтиране или дори директен достъп до GPU за AI задачи с PyTorch.

Основни разлики с Docker Desktop

Сървърна инфраструктура в център за данни, представляваща виртуализация на Hyper-V на Windows 11

Мнозина ще се чудят дали това ще замести Docker Desktop. Краткият отговор е, че в много случаи „да“. Докато Docker обикновено използва една споделена виртуална машина на Linux за всичко, WSL контейнерите стартират независими Hyper-V микро-виртуални машини за всеки контейнер. Това означава, че всеки процес има собствен бюджет за памет и съхранение, което предотвратява „шпионирането“ на един контейнер върху друг и подобрява сигурността.

Друг важен момент е цената. Docker Desktop изисква заплащане за големи компании, докато WSL контейнерите са включени в Windows 11 без допълнително заплащане. Има обаче един важен детайл: имате нужда от Windows 11 Pro, Enterprise или Education , тъй като Home версията не поддържа Hyper-V изолацията, необходима за работата на всичко това.

Какво представлява проектът Yocto?
Свързана статия:
Какво представлява проектът Yocto: Пълно ръководство за вградени системи

Как да го стартирате стъпка по стъпка

Подробни редове с код на монитора, илюстриращи използването на wslc.exe CLI за управление на контейнери

Ако искате да започнете да експериментирате, първото нещо, което трябва да направите, е да се уверите, че имате WSL версия 2.9.3 или по-нова. Тъй като все още е в предварителен преглед, ще трябва да отворите терминал като администратор и да изпълните командата `wsl --update --pre-release` . След като актуализирате, можете да активирате функцията, като изпълните `wsl --install-feature containers`.

За да проверите дали всичко е наред, просто напишете wslc versionАко искате да пуснете първия си контейнер без усложнения, опитайте с wslc run --rm hello-worldЩе видите как изображението се изтегля автоматично и ще се покаже поздравителното съобщение, потвърждаващо, че системата работи. Оттук можете да използвате команди като wslc контейнер ps да видя какво е живо или wslc image ls за да прегледате локалните си изображения.

Създаване на ваши собствени изображения и оптимизиране на работния процес

Осветени сървърни стелажи, символизиращи ефективността и изолацията на WSL микро-виртуални машини

Ако искате да изведете това на следващото ниво, идеалното решение е да използвате Visual Studio Code с разширението WSL. За да създадете свой собствен образ, ви е необходим файл, наречен Containerfile (много подобен на Dockerfile) и да се консултирате с добри книги по програмиране , за да структурирате приложението си. Например, ако изграждате Django приложение, трябва да дефинирате Python образа, да копирате изискванията и да разкриете порт 8000.

Процесът на компилиране е прост: използвате wslc build -t името на вашето приложение. и след това го стартирате с wslc run -d -p 8000:8000 --name mi-app nombre-de-tu-appНай-силното нещо е, че можете да интегрирате това в MSBuild или CMake, което прави създаването на контейнер част от процеса на изграждане на вашия проект.

Какво е OpenEmbedded
Свързана статия:
Какво е OpenEmbedded и как то трансформира разработката на вградени Linux системи

Производителност, работа в мрежа и съхранение

Microsoft не е само почесал повърхността. Те са внедрили virtiofs като файлова система по подразбиране, което значително ускорява преноса на данни между Windows и Linux, елиминирайки досадното препятствие от бавното монтиране. Освен това има експериментален мрежов режим, наречен consomme , който е благодат за работещите в корпоративна среда, тъй като разрешава типичните конфликти с корпоративните VPN мрежи, като маршрутизира трафика по-интелигентно.

Що се отнася до управлението на ресурсите, системата е по-агресивна при освобождаването на памет на хоста. Тъй като те са леки виртуални машини, когато спрете контейнер, паметта се възстановява по-бързо отколкото в монолитния модел. За да поддържате диска чист, не забравяйте да използвате wslc container prune y wslc image prune да изтриете това, което вече не използвате.

Тази технология представлява значителен скок напред, като интегрира контейнеризацията директно в ядрото на Windows 11, позволявайки на разработчиците да елиминират софтуер на трети страни и да оптимизират производителността чрез изолация на Hyper-V и системата virtiofs. С появата на wslc.exe CLI и съвместимостта с VS Code се създава стабилна, безплатна и ефикасна среда, която опростява изпълнението на Linux задачи, въпреки че е необходима професионална версия на Windows, за да се използват напълно нейните възможности.


Добавяне като предпочитан източник в Google