Мэдээ

Docker Desktop-гүйгээр Linux контейнер ажиллуулна: Microsoft "WSL Containers"-ийг албан ёсоор цацлаа

TOGTOKHTOGTOKH·2026 оны аравдугаар сарын 5·3 үзсэн·
Docker Desktop-гүйгээр Linux контейнер ажиллуулна: Microsoft "WSL Containers"-ийг албан ёсоор цацлаа

Windows үйлдлийн систем дээр Linux контейнер ажиллуулах гэдэг нь олон жилийн турш Docker Desktop суулгах, тусгай лицензийн дүрэм мөрдөх, эсвэл WSL дотор Docker Engine-ийг гараар тохируулах нүсэр дарааллыг илэрхийлдэг байв. Ялангуяа том компаниудын хувьд Docker Desktop-ийн төлбөртэй лиценз, санах ойн өндөр хэрэглээ нь хөгжүүлэгчдийн дунд байнгын маргааны сэдэв байсаар ирсэн.

Харин энэ асуудлыг бүрэн шийдвэрлэхээр Microsoft өөрийн Windows Subsystem for Linux (WSL) платформдоо Linux контейнерыг шууд (native) ажиллуулах шийдлийг нэвтрүүлж, WSL Containers боломжийг бүх нийтийн хэрэглээнд (GA - Generally Available) албан ёсоор гаргалаа.

Docker Desktop, Podman шаардлагагүй боллоо

Шинэ боломжийн гол давуу тал нь Windows дээр контейнер ажиллуулахад ямар нэгэн нэмэлт engine, дэвсгэр сервис эсвэл гуравдагч талын хэрэгсэл шаардлагагүй болсонд оршино. Системд WSL 2.9.3 (эсвэл түүнээс дээш) хувилбар суусан байхад л OCI (Open Container Initiative) стандартад нийцсэн дурын контейнер имижийг шууд татаж, угсарч, ажиллуулах боломжтой болж байна.

Энэ нь Hyper-V дээр нүсэр тусдаа виртуал машин асааж нөөц үрэхийн оронд WSL2-ын хөнгөн VM цөм дотор процессийн түвшинд ажиллах тул хурд, санах ойн хэрэглээний хувьд мэдэгдэхүйц хэмнэлттэй болжээ.

wslc.exe CLI: Контейнер хөгжүүлэгчдэд танил орчин

WSL Containers-ийг удирдах гол зэвсэг нь системийн үндсэн тушаал болж ирсэн wslc.exe (болон товчлол alias болох container.exe) юм. Хэрэв та өмнө нь Docker CLI ашиглаж байсан бол суралцах шинэ даваа бараг гарахгүй.

Жишээ нь:

# Ubuntu контейнерыг шууд ажиллуулах
wslc run --rm -it ubuntu:latest bash

# Nginx серверийг портоор холбон далд горимд ажиллуулах
wslc run -d --rm -p 8080:80 --name web nginx

# Имижүүдийг жагсаах болон контейнерын жагсаалт харах
wslc image ls
wslc container ps

# Файл хуулах болон сүлжээ удирдах
wslc container cp myapp:/app/logs ./logs
wslc network connect my-network web

GA хувилбараар контейнерыг дахин асаах (restart), контейнерын төлөвийг шалгах (health check), бодит хугацааны эвентүүдийг хянах зэрэг бүрэн үйлдлүүд нэмэгдсэн байна.

Программчлалын шинэ гарц: WSL Containers API

Энэхүү шинэчлэлийн хөгжүүлэгчдийн сонирхлыг хамгийн их татаж буй хэсэг нь зөвхөн терминалын CLI биш, харин WSL Containers API юм.

Microsoft өөрийн .NET болон C++ хөгжүүлэгчдэд зориулан Microsoft.WSL.Containers албан ёсны NuGet санг нийтэллээ. Үүний тусламжтайгаар та өөрийн Windows аппликейшн, десктоп хэрэгсэл эсвэл локал үйлчилгээн дотроосоо Linux контейнеруудыг кодоор удирдаж болно:

  • Орон нутгийн AI загварууд ба Agent Sandbox: LLM агентууд аюулгүй тусгаарлагдсан Linux орчинд код ажиллуулах шаардлагатай үед Windows апп дотроосоо секундын дотор тусгаарлагдсан контейнер үүсгэж, stdin/stdout-оор үр дүнг хүлээн авах.
  • GPU Access: Windows хостын график картыг (Nvidia CUDA) контейнер дотор шууд ашиглах боломж бүрэн нээлттэй.
  • Тестийн дэд бүтэц: Тестүүд эхлэхэд өгөгдлийн сангийн контейнерыг C# кодоор асаагаад дуусмагц автоматаар устгах.

Дотоод архитектур: HCS ба Session загвар

WSL Containers яаж ажилладаг вэ? Microsoft Dev Blogs дээр нийтлэгдсэн архитектурын дэлгэрэнгүйгээс үзвэл: Windows-ийн давуу эрхтэй wslservice.exe процесс нь Host Compute Service (HCS)-ээр дамжуулан хөнгөн Linux VM-ийг үүсгэдэг. Гэвч ердийн WSL-ээс ялгаатай нь энэхүү сервис контейнерын бүх эрхийг шууд атгадаггүй. Харин хэрэглэгчийн өөрийн эрхээр ажиллах wslcsession.exe хэмээх туслах процесс үүсгэгдэж, директорын холболт (mount), портын зохицуулалт болон контейнерын амьдралын мөчлөгийг зохицуулдаг байна. Энэ нь системийн аюулгүй байдал болон эрхийн тусгаарлалтыг дээд зэргээр хангажээ.

Энтерпрайз түвшний хяналт ба Dev Containers

Байгууллагын систем админуудад зориулан Microsoft Defender for Endpoint-той нэгтгэсэн тул контейнер дотор явагдаж буй процессууд, сүлжээний урсгал, файлын өөрчлөлтүүд шууд Windows-ийн аюулгүй байдлын системд бүртгэгдэнэ. Түүнчлэн Microsoft Intune-ээр дамжуулан ажилтнууд зөвхөн байгууллагын баталгаажуулсан бүртгэлээс (Allow-list Registry) имиж татах бодлогыг төвлөрсөн байдлаар удирдах боломжтой болсон.

Мөн VS Code Dev Containers өргөтгөл аль хэдийн wslc-г үндсэн драйвераар ашиглах горимыг дэмжиж эхэлсэн бөгөөд .NET Aspire зэрэг орчин үеийн стекүүдтэй шууд уялдаж байна.

Хэрхэн туршиж үзэх вэ?

Хэрэв та Windows 11 (эсвэл шинэчлэгдсэн Windows 10) ашигладаг бол PowerShell нээгээд ердөө дараах тушаалыг өгөхөд хангалттай:

wsl --update

Шинэчлэл хийгдсэний дараа wslc version гэж шалгаад шууд анхны контейнероо асааж үзэх боломжтой.

Дүгнэлт: WSL анх гарахад "Windows дээр Bash ажиллаж байна" гэдэгт хүмүүс гайхаж байсан бол өнөөдөр Windows өөрөө клауд-нэтэйв болон хиймэл оюуны Linux ажлын урсгалуудыг гуравдагч талын зуучлагчгүйгээр бүрэн өлгийдөн авсан бүрэн цогц систем болж хувирчээ.


Эх сурвалж: Windows Developer Blog, Microsoft Learn WSL Containers Docs, Microsoft CommandLine Architecture Deep Dive

Сэтгэгдэл

Ачаалж байна...