- Utilizarea instrumentului wslc.exe pentru a gestiona nativ containerele Linux pe Windows 11 fără a se baza pe licențe externe.
- Implementarea mapării porturilor folosind parametrul -p pentru a face serviciile accesibile prin localhost.
- Configurare avansată a rețelei și tunelare DNS pentru a evita conflictele cu VPN-urile și firewall-urile corporative.
Cum se expune portul unui container WSL în Windows 11? Dacă ați făcut upgrade la Windows 11 și doriți să accesați containere fără bătaia de cap a licențelor scumpe sau a instalărilor greoaie, ați ajuns la locul potrivit. Gestionarea mediilor izolate obișnuia să fie o bătaie de cap, dar datorită integrării directe în sistem a suportului pentru containere de către Microsoft, este mult mai ușoară. Subsistem Windows pentru Linux (WSL)Acum putem implementa aplicații nativ și într-un mod ușor.
Marea veste este sosirea unui instrument numit wslc.exePractic, acest lucru ne permite să nu ne mai bazăm exclusiv pe Docker Desktop. Indiferent dacă doriți să configurați un server web pentru un test rapid sau să implementați o infrastructură mai robustă, înțelegerea modului de expunere a porturilor și de configurare a rețelei este esențială pentru a face serviciile accesibile dintr-un browser Windows.
Ce este mai exact WSL Containers și cum diferă de Docker?
Pentru început, trebuie clarificat faptul că WSL Containers nu este o invenție care înlocuiește conceptul de container, ci o modalitate de a... gestionarea micro-mașinelor virtuale Hyper-V resurse dedicate pentru fiecare instanță. Spre deosebire de modelul tradițional în care toate containerele partajează o singură mașină virtuală Linux, aici fiecare sarcină de lucru are propriul buget de resurse și izolare, ceea ce implică o Un salt semnificativ înainte în materie de securitate și eficiență.
Dacă comparăm acest lucru cu Docker Desktop, cea mai vizibilă diferență este costul. În timp ce Docker necesită abonamente pentru întreprinderile mari, containerele WSL vin cu o taxă de abonament. inclus gratuit în Windows 11În plus, performanța de intrare și ieșire a fișierelor s-a îmbunătățit semnificativ datorită implementării virți, eliminând acele blocaje enervante pe care le întâmpinam la montarea volumelor între Windows și Linux.

Ghid pas cu pas pentru instalarea și configurarea WSLC
Înainte de a începe să expuneți porturile, trebuie să vă asigurați că sistemul este configurat corect. Nu orice versiune va funcționa, deoarece această funcție este încă în versiune preliminară. Pentru a începe, deschideți un terminal ca administrator și rulați wsl --update --pre-releaseEste esențial să aveți Hyper-V activat în BIOS sau UEFI, deoarece este motorul care permite izolarea containerului.
Odată ce kernelul a fost actualizat, următorul pas este instalarea funcției specifice rulând comanda wsl --install-feature containersPentru a verifica dacă totul funcționează perfect, pur și simplu scrieți wslc versionDacă vedeți șirul de compilare, puteți începe descărcarea imaginilor din registrele compatibile cu OCI, cum ar fi Docker Hub, folosind comanda wslc pull ubuntu:24.04 De exemplu.

Cum se expune un port de container în Windows 11
Aici se întâmplă magia. Pentru a face o aplicație care rulează pe Linux vizibilă pe sistemul dvs. Windows, trebuie să efectuați o maparea porturilor în momentul lansării containerului. Parametrul cheie este -p, urmat de portul Windows și portul containerului.
Imaginează-ți că vrei să pornești un server Nginx. Comanda ar fi: wslc run -d -p 8080:80 --name mi-web nginxÎn acest caz, spunem că tot traficul care sosește la portul 8080 al localhost-ului dvs. va fi redirecționat către portul 80 al containerului. După ce ați terminat, pur și simplu deschideți browserul și accesați http://localhost:8080 pentru a vedea serverul rulând fără a fi nevoie să configurați reguli manuale complexe de rețea.

Crearea și implementarea de imagini personalizate
Dacă imaginile predefinite nu sunt suficiente pentru tine, poți să-ți creezi propriile imagini. Fișier container (care este practic identic cu un Dockerfile). De exemplu, pentru o aplicație Django, ați defini imaginea de bază Python, ați copia cerințele și ați utiliza instrucțiunea EXPUNE 8000 pentru a indica portul utilizat intern de aplicație.
Pentru a converti acel fișier într-o imagine reală, utilizați wslc build -t mi-app-django .Apoi, când îl rulați, aplicați același principiu al portului: wslc run -d -p 8000:8000 mi-app-django. Dacă folosești Cod Visual StudioÎți poți ușura mult viața instalând extensia WSL și schimbând Docker Path la wslc, permițându-vă să depanați codul direct în container.

Rezolvarea problemelor și rețele complexe
Nu totul merge bine. Uneori veți întâlni eroarea că un port este deja utilizat. Acest lucru este foarte frecvent în cazul portului 53 (DNS), unde serviciile interne Windows pot intra în conflict. Dacă vi se întâmplă acest lucru, verificați dacă nu aveți alte porturi utilizate. servicii de rețea active sau încercați să schimbați portul extern al mapării.
Un alt punct critic este conectivitatea atunci când utilizați un VPN. Dacă observați că pierdeți accesul la internet în cadrul WSL, este posibil să fie nevoie să îl activați. Tunelarea DNS în fișier .wslconfigStabilirea dnsTunneling=true În secțiunea experimentală, împiedicați politicile de rețea ale companiei să blocheze interogările DNS de la mașina virtuală.
Alte instrumente și considerații finale
Dacă vii de la Docker Desktop și nu vrei să îl ștergi, e în regulă. Poți avea ambele sisteme coexistând pe aceeași mașină fără conflicte, deoarece utilizează medii de execuție diferite. Totuși, rețineți că pentru o integrare completă și pentru a vedea containerele WSL în interfața Docker Desktop, trebuie să activați integrare specifică a distribuției în setările Docker Resources.
Pentru cei care lucrează cu Inteligența Artificială, vestea bună este că wslc permite accesarea plăcii grafice prin intermediul flag-ului --gpus allcare permite modele de PyTorch sau TensorFlow Acestea funcționează prin valorificarea puterii hardware-ului Windows. Totuși, rețineți că această tehnologie necesită Windows 11 Pro, Enterprise sau Educationdeoarece versiunea Home nu acceptă izolarea Hyper-V necesară.
Faptul că dețineți controlul complet asupra containerelor Linux direct din kernelul Windows 11 simplifică foarte mult fluxul de lucru, permițându-ne să trecem fără probleme de la crearea de imagini cu wslc la accesarea acestora prin localhost. Deși este încă în versiune preliminară și unele funcții precum Docker Compose sunt în evoluție, capacitatea de a mapa porturile și de a gestiona rețelele în mod nativ îl face o alternativă puternică și gratuită pentru orice dezvoltator.
Pasionat de tehnologie de când era mic. Îmi place să fiu la curent în sector și, mai ales, să-l comunic. De aceea mă dedic de mulți ani comunicării pe site-uri de tehnologie și jocuri video. Mă puteți găsi scriind despre Android, Windows, MacOS, iOS, Nintendo sau orice alt subiect conex care vă vine în minte.