Комплетан водич за WSL контејнере: Изворна алтернатива Docker-у на Windows-у

  • Имплементација нативног Linux контејнерског слоја коришћењем wslc.exe CLI и програмабилног API-ја за програмере.
  • Архитектура заснована на Hyper-V микро-VM-у која обезбеђује супериорну изолацију и ефикасније управљање ресурсима.
  • Елиминисање зависности од комерцијалних лиценци трећих страна директном интеграцијом у екосистем Windows 11.

Модерно развојно окружење са лаптопом који приказује уређивач кода за програмирање у WSL контејнерима

Ако радите у развоју, знате да је подешавање Линукс окружења на Виндоусу увек било помало компликовано или зависно од спољних алата који понекад могу бити превелики. Па, Мајкрософт је направио револуцију са WSL контејнерима , функцијом која нам омогућава да управљамо Линукс сликама и контејнерима изворно, без потребе да пролазимо кроз све што нуди Докер Десктоп или његове компликоване пословне лиценце.

Овај алат није једноставно ажурирање, већ промена парадигме у начину на који Windows рукује виртуелизацијом. Интеграцијом могућности покретања контејнера директно у Windows подсистем за Linux , циљ је стварање много глађег тока рада, елиминисање непотребних слојева и омогућавање програмерима да се фокусирају на писање кода без мучења са конфигурацијом оперативног система.

линук
Повезани чланак:
Линукс се етаблира као невидљиви стуб телекомуникација и облака.

Шта су тачно WSL контејнери?

Професионални програмер који ради на развоју апликација користећи Windows подсистем за Linux

Једноставно речено, ово је нова WSL могућност која вам омогућава да креирате и покрећете Linux контејнере без потребе за спољним демоном. У њеном срцу је wslc.exe , интерфејс командне линије дизајниран да буде интуитиван, посебно ако сте већ упознати са Докером, јер су команде веома сличне. У ствари, да би се избегла било каква забуна, Мајкрософт је укључио алиас под називом 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 микро-VM-ове за сваки контејнер. То значи да сваки процес има сопствени буџет за меморију и складиштење, спречавајући један контејнер да „шпијунира“ други и побољшавајући безбедност.

Још једна кључна ствар је цена. Docker Desktop захтева плаћање за велике компаније, док су WSL контејнери укључени у Windows 11 без додатних трошкова. Међутим, постоји важан детаљ: потребан вам је Windows 11 Pro, Enterprise или Education , јер Home верзија не подржава Hyper-V изолацију неопходну да би све ово функционисало.

Шта је пројекат Јокто?
Повезани чланак:
Шта је пројекат Јокто: Комплетан водич за уграђене системе

Како га покренути и покренути корак по корак

Детаљне линије кода на монитору, које илуструју употребу 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 слика 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 и како трансформише развој уграђених система за Линукс

Перформансе, умрежавање и складиштење

Мајкрософт није само загребао површину. Имплементирали су virtiofs као подразумевани фајл систем, што значајно убрзава пренос података између Windows-а и Linux-а, елиминишући то досадно уско грло спорих монтирања. Штавише, постоји експериментални мрежни режим под називом consomme , који је благодет за оне који раде у корпоративним окружењима, јер решава типичне сукобе са VPN-овима предузећа интелигентнијим усмеравањем саобраћаја.

Што се тиче управљања ресурсима, систем је агресивнији у ослобађању меморије хосту. Пошто су то лагане виртуелне машине, када зауставите контејнер, меморија се брже опоравља него у монолитном моделу. Да бисте диск одржали чистим, не заборавите да користите wslc container prune y wslc image prune да обришете оно што више не користите.

Ова технологија представља значајан корак напред интегришући контејнеризацију директно у језгро Windows 11, омогућавајући програмерима да елиминишу софтвер трећих страна и оптимизују перформансе путем Hyper-V изолације и система virtiofs. Доласком wslc.exe CLI и VS Code компатибилности, успостављено је робусно, бесплатно и ефикасно окружење које поједностављује покретање Linux радних оптерећења, иако је потребно професионално издање Windows-а да би се у потпуности искористиле његове могућности.


Додај као жељени извор на Гуглу