Impostazioni del container WSL

È possibile personalizzare come wslc.exe esegue i contenitori, ad esempio il numero di CPU e la quantità di memoria che può essere usata dalla sessione contenitore, con un file di impostazioni YAML per utente disponibile in %LOCALAPPDATA%\wslc\settings.yaml.

Aprire il file delle impostazioni

Il file di impostazioni non esiste per impostazione predefinita. Per crearlo e aprirlo nell'editor predefinito per i file .yaml (o Blocco note, se non è associato alcun editor), eseguire:

wslc settings

La prima volta che si esegue questo comando, wslc crea il file con tutte le impostazioni commentate e impostate su default. Rimuovere il commento da una riga e sostituire default con il valore desiderato per modificare un'impostazione. Per sovrascrivere di nuovo il file con le impostazioni predefinite commentate, eseguire:

wslc settings reset

Di seguito è riportato un esempio di un file settings.yaml:

session:
  cpuCount: 4
  memorySize: 8GB
  maxStorageSize: 500GB
  storagePath: D:\data
  defaultBindingAddress: 127.0.0.1
  hostLoopback: host.wslc.internal
  idleTimeout: 60

Impostazioni disponibili

Ogni impostazione accetta il valore default, che usa il valore predefinito incorporato. Le impostazioni mancanti nel file usano anch'esse il valore predefinito integrato.

Setting Value Impostazione predefinita Description
session.cpuCount number Tutti i processori logici Numero di processori virtuali assegnati alla sessione del contenitore. Deve essere maggiore di 0.
session.memorySize size 50% della memoria totale in Windows Quantità massima di memoria assegnata alla sessione del contenitore, ad esempio 8GB.
session.maxStorageSize size 1TB Dimensioni massime del disco virtuale (VHDX) che archivia le immagini e i contenitori della sessione, ad esempio 500GB.
session.storagePath path %LOCALAPPDATA% Directory di base assoluta per l'archiviazione della sessione predefinita. Il disco virtuale viene creato in <storagePath>\wslc\sessions\<session>\storage.vhdx.
session.defaultBindingAddress Indirizzo IPv4 127.0.0.1 Indirizzo host a cui si associano le porte pubblicate quando si usa wslc container run -p senza specificare un indirizzo. Impostare su 0.0.0.0 per eseguire l'associazione a tutte le interfacce host.
session.hostLoopback string host.wslc.internal Nome DNS che i contenitori possono usare per raggiungere l'host Windows. Impostare su none per disabilitare questo nome.
session.idleTimeout number 30 Numero di secondi in cui la macchina virtuale della sessione rimane in esecuzione dopo che diventa inattiva prima dell'arresto. Deve essere maggiore di 0.
credentialStore wincred oppure file wincred Dove vengono archiviate le credenziali del registro contenitori provenienti da wslc login. wincred usa Gestione credenziali di Windows. file usa un file con crittografia DPAPI all'indirizzo %LOCALAPPDATA%\wslc\registry-credentials.json.

I valori delle dimensioni sono un numero intero seguito da un'unità facoltativa: B, K/KB, /GM, /MBGB, TBT/ o P/PB (senza distinzione tra maiuscole e minuscole). Le unità sono binarie, quindi 1GB è pari a 1024 MB. Un valore senza un'unità viene interpretato come byte e il valore minimo è 1 MB.

Note

La modifica di session.storagePath dopo che una sessione esiste già non sposta immagini, contenitori o archiviazione esistenti. L'archiviazione precedente viene lasciata sul posto e viene creata una nuova sessione vuota nella nuova posizione.

Quando le modifiche hanno effetto

  • Le impostazioni di sessione (session.*) vengono lette all'avvio della sessione del contenitore. Se una sessione è già in esecuzione, arrestarla con wslc system session terminate in modo che il comando successivo wslc avvii una nuova sessione con le impostazioni aggiornate. Una sessione si chiude autonomamente anche dopo che è stata inattiva per session.idleTimeout secondi.
  • session.defaultBindingAddress e credentialStore vengono letti ogni volta che si esegue un wslc comando.

Se il file di impostazioni contiene un'impostazione sconosciuta, un valore non valido o YAML non valido, wslc visualizza un avviso che include il percorso del file e il numero di riga e usa l'impostazione predefinita per le impostazioni interessate.

Note

Queste impostazioni si applicano alla sessione che wslc.exe usa. Le impostazioni in .wslconfig non si applicano ai container WSL. Le applicazioni che usano l'API del contenitore WSL configurano le proprie sessioni nel codice, ad esempio con SessionSettings.

Risorse aggiuntive