Inställningar för WSL-container

Du kan anpassa hur wslc.exe kör containrar, till exempel hur många processorer och hur mycket minne containersessionen kan använda, med en YAML-inställningsfil per användare på %LOCALAPPDATA%\wslc\settings.yaml.

Öppna inställningsfilen

Inställningsfilen finns inte som standard. Om du vill skapa den och öppna den i standardredigeraren för .yaml filer (eller Anteckningar, om ingen redigerare är associerad), kör du:

wslc settings

Första gången du kör det här kommandot skapar wslc filen med varje inställning kommenterad och inställd på default. Avkommentera en rad och ersätt default med ditt värde för att ändra en inställning. Om du vill skriva över filen med de kommenterade standardvärdena igen kör du:

wslc settings reset

Här är en exempelfil settings.yaml :

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

Tillgängliga inställningar

Varje inställning accepterar värdet default, vilket innebär att det inbyggda standardvärdet används. Inställningar som saknas i filen använder också den inbyggda standardinställningen.

Inställning Värde Default Description
session.cpuCount number Alla logiska processorer Antal virtuella processorer som tilldelats containersessionen. Måste vara större än 0.
session.memorySize size 50% av totalt minne i Windows Maximal mängd minne som tilldelats containersessionen, till exempel 8GB.
session.maxStorageSize size 1TB Maximal storlek på den virtuella disk (VHDX) som lagrar sessionens avbildningar och containrar, till exempel 500GB.
session.storagePath path %LOCALAPPDATA% Absolut sökväg till grundkatalogen för standardsessionens lagring. Den virtuella disken skapas på <storagePath>\wslc\sessions\<session>\storage.vhdx.
session.defaultBindingAddress IPv4-adress 127.0.0.1 Värdadress som exponerade portar binds till när du använder wslc container run -p utan att ange en adress. Ställ in på 0.0.0.0 för att binda till alla värdgränssnitt.
session.hostLoopback string host.wslc.internal DNS-namn som containrar kan använda för att nå Windows-värden. Ange none för att inaktivera det här namnet.
session.idleTimeout number 30 Antal sekunder som den virtuella sessionsdatorn fortsätter att köras när den blir inaktiv innan den stängs av. Måste vara större än 0.
credentialStore wincred eller file wincred Där autentiseringsuppgifterna för containerregistret från wslc login lagras. wincredanvänder Windows Credential Manager. file använder en DPAPI-krypterad fil i %LOCALAPPDATA%\wslc\registry-credentials.json.

Storleksvärden är ett heltal följt av en valfri enhet: B,KB/K , MMB/,GB/G ,TBT/ eller P/PB (skiftlägesokänslig). Enheter är binära, så 1GB är 1 024 MB. Ett värde utan en enhet tolkas som byte och minimivärdet är 1 MB.

Note

Om du ändrar session.storagePath efter att en session redan finns flyttas inte befintliga avbildningar, containrar eller lagring. Den tidigare lagringen finns kvar och en ny, tom session skapas på den nya platsen.

När ändringarna träder i kraft

  • Sessionsinställningar (session.*) läses när containersessionen startar. Om en session redan körs stoppar du den med wslc system session terminate så att nästa wslc kommando startar en ny session med dina uppdaterade inställningar. En session stängs också av på egen hand när den har varit inaktiv i session.idleTimeout sekunder.
  • session.defaultBindingAddress och credentialStore läses varje gång du kör ett wslc kommando.

Om inställningsfilen innehåller en okänd inställning, ett ogiltigt värde eller ogiltig YAML skriver wslc ut en varning som innehåller filsökvägen och radnumret och använder den inbyggda standardinställningen för de berörda inställningarna.

Note

De här inställningarna gäller för den session där wslc.exe används. Inställningarna i .wslconfig gäller inte för WSL-containrar. Program som använder WSL-container-API:et konfigurerar sina egna sessioner i kod, till exempel med SessionSettings.

Ytterligare resurser