- Utilizzo dello strumento wslc.exe per gestire i container Linux in modo nativo su Windows 11 senza ricorrere a licenze esterne.
- Implementazione del port mapping tramite il parametro -p per rendere i servizi accessibili via localhost.
- Configurazione di rete avanzata e tunneling DNS per evitare conflitti con VPN e firewall aziendali.
Come esporre la porta di un container WSL in Windows 11? Se hai aggiornato a Windows 11 e desideri utilizzare i container senza dover affrontare costose licenze o installazioni complesse, sei nel posto giusto. Gestire ambienti isolati un tempo era un vero grattacapo, ma grazie all'integrazione del supporto per i container direttamente nel sistema da parte di Microsoft, ora è molto più semplice. Sottosistema Windows per Linux (WSL)Ora possiamo distribuire le applicazioni in modo nativo e leggero.
La grande novità è l'arrivo di uno strumento chiamato wslc.exeQuesto ci permette essenzialmente di smettere di dipendere esclusivamente da Docker Desktop. Che si tratti di configurare un server web per un test rapido o di implementare un'infrastruttura più robusta, capire come esporre le porte e configurare la rete è fondamentale per rendere i propri servizi accessibili da un browser Windows.
Che cos'è esattamente WSL Containers e in cosa si differenzia da Docker?
Per cominciare, è necessario chiarire che WSL Containers non è un'invenzione che arriva a sostituire il concetto di container, ma un modo di Gestire le micro-VM Hyper-V risorse dedicate per ogni istanza. A differenza del modello tradizionale in cui tutti i container condividono una singola macchina virtuale Linux, qui ogni carico di lavoro ha il proprio budget di risorse e isolamento, il che implica un Un significativo passo avanti nella sicurezza ed efficienza.
Se lo confrontiamo con Docker Desktop, la differenza più evidente è il costo. Mentre Docker richiede un abbonamento per le grandi aziende, i container WSL prevedono un canone di abbonamento. incluso gratuitamente in Windows 11Inoltre, le prestazioni di input e output dei file sono migliorate significativamente grazie all'implementazione di virtiofs, eliminando quei fastidiosi colli di bottiglia che si verificavano in passato durante il montaggio dei volumi tra Windows e Linux.

Guida passo passo all'installazione e alla configurazione di WSLC
Prima di iniziare a esporre le porte, è necessario assicurarsi che il sistema sia configurato correttamente. Non tutte le versioni funzioneranno, poiché questa funzionalità è ancora in anteprima. Per iniziare, apri un terminale come amministratore ed esegui wsl --update --pre-releaseÈ essenziale che tu abbia Hyper-V abilitato nel BIOS o nell'UEFI, poiché è il motore che consente l'isolamento dei container.
Una volta aggiornato il kernel, il passo successivo è installare la funzionalità specifica eseguendo il comando wsl --install-feature containersPer verificare che tutto funzioni perfettamente, è sufficiente scrivere wslc versionSe visualizzi la stringa di build, puoi ora iniziare a scaricare le immagini dai registri compatibili con OCI, come Docker Hub, utilizzando il comando wslc pull ubuntu:24.04 Per esempio.

Come esporre una porta container in Windows 11
È qui che avviene la magia. Per rendere visibile un'applicazione in esecuzione su Linux sul tuo sistema Windows, devi eseguire un mappatura delle porte al momento dell'avvio del container. Il parametro chiave è -p, seguita dalla porta Windows e dalla porta del container.
Immagina di voler avviare un server Nginx. Il comando sarebbe: wslc run -d -p 8080:80 --name mi-web nginxIn questo caso, stiamo dicendo che tutto il traffico in arrivo al porta 8080 del tuo localhost verrai reindirizzato alla porta 80 del container. Una volta fatto ciò, apri semplicemente il tuo browser e vai a http://localhost:8080 per visualizzare il server in funzione senza dover configurare complesse regole di rete manuali.

Creazione e distribuzione di immagini personalizzate
Se le immagini predefinite non ti bastano, puoi crearne di tue. file contenitore (che è praticamente identico a un Dockerfile). Ad esempio, per un'app Django, definiresti l'immagine Python di base, copieresti i requisiti e useresti l'istruzione ESPONI 8000 per indicare quale porta l'applicazione utilizza internamente.
Per convertire quel file in un'immagine reale, si utilizza wslc build -t mi-app-django .Quindi, quando lo esegui, applichi lo stesso principio delle porte: wslc run -d -p 8000:8000 mi-app-django. Se usi Codice di Visual StudioPuoi semplificarti la vita installando l'estensione WSL e modificando il percorso Docker in wslc, consentendo di eseguire il debug del codice direttamente nel container.

Risoluzione dei problemi e reti complesse
Non tutto fila liscio. A volte si può incontrare l'errore che una porta è già in uso. Questo è molto comune con la porta 53 (DNS), dove i servizi interni di Windows possono entrare in conflitto. Se ti capita, verifica che non ci siano altre porte in uso. servizi di rete attivi oppure prova a cambiare la porta esterna della mappatura.
Un altro punto critico è la connettività quando si utilizza una VPN. Se noti di perdere la connessione a Internet all'interno di WSL, potrebbe essere necessario attivarla. tunneling DNS nel file .wslconfigStabilire dnsTunneling=true Nella sezione sperimentale, si impedisce alle policy di rete aziendali di bloccare le query DNS provenienti dalla macchina virtuale.
Altri strumenti e considerazioni finali
Se vieni da Docker Desktop e non vuoi eliminarlo, va bene. Puoi averlo entrambi i sistemi coesistenti sulla stessa macchina senza conflitti, poiché utilizzano ambienti di runtime diversi. Tuttavia, ricorda che per la piena integrazione e per vedere i container WSL nell'interfaccia di Docker Desktop, è necessario abilitare l' integrazione specifica della distribuzione nelle impostazioni delle risorse Docker.
Per chi lavora con l'Intelligenza Artificiale, la buona notizia è che wslc supporta l'accesso alla scheda grafica tramite il flag --gpus allche consente modelli di PyTorch o TensorFlow Volano sfruttando la potenza dell'hardware di Windows. Tuttavia, tieni presente che questa tecnologia richiede Windows 11 Pro, Enterprise o Educationperché la versione Home non supporta l'isolamento Hyper-V necessario.
Avere il controllo completo sui container Linux direttamente dal kernel di Windows 11 semplifica notevolmente il flusso di lavoro, consentendoci di passare senza problemi dalla creazione di immagini con wslc all'accesso alle stesse tramite localhost. Sebbene sia ancora in anteprima e alcune funzionalità come Docker Compose siano in fase di sviluppo, la possibilità di mappare le porte e gestire le reti in modo nativo lo rende un'alternativa potente e gratuita per qualsiasi sviluppatore.
Appassionato di tecnologia fin da piccolo. Amo aggiornarmi sul settore e, soprattutto, comunicarlo. Per questo da molti anni mi dedico alla comunicazione sui siti web di tecnologia e videogiochi. Puoi trovarmi a scrivere di Android, Windows, MacOS, iOS, Nintendo o qualsiasi altro argomento correlato che ti viene in mente.