WSL-containerinstellingen

U kunt aanpassen hoe wslc.exe containers uitvoert, zoals hoeveel CPU's en hoeveel geheugen de containersessie kan gebruiken, met een YAML-instellingenbestand per gebruiker in %LOCALAPPDATA%\wslc\settings.yaml.

Het instellingenbestand openen

Het instellingenbestand bestaat niet standaard. Als u deze wilt maken en openen in uw standaardeditor voor .yaml bestanden (of Kladblok, als er geen editor is gekoppeld), voert u het volgende uit:

wslc settings

De eerste keer dat u deze opdracht uitvoert, wslc maakt het bestand aan met elke instelling uitgecommentarieerd en ingesteld op default. Verwijder opmerkingen bij een regel en vervang default door uw waarde om een instelling te wijzigen. Als u het bestand opnieuw wilt overschrijven met de uitgecommentarieerde standaardinstellingen, voert u het volgende uit:

wslc settings reset

Hier volgt een voorbeeldbestand settings.yaml :

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

Beschikbare instellingen

Elke instelling accepteert de waarde default, waarmee de ingebouwde standaard wordt gebruikt. Instellingen die in het bestand ontbreken, maken ook gebruik van de ingebouwde standaardwaarde.

Configuratie Waarde Default Description
session.cpuCount Nummer Alle logische processoren Het aantal virtuele processors dat is toegewezen aan de containersessie. Moet groter zijn dan 0.
session.memorySize size 50% van het totale geheugen in Windows Maximale hoeveelheid geheugen die is toegewezen aan de containersessie, bijvoorbeeld 8GB.
session.maxStorageSize size 1TB Maximale grootte van de virtuele schijf (VHDX) waarin bijvoorbeeld 500GB de images en containers van de sessie worden opgeslagen.
session.storagePath path %LOCALAPPDATA% Absolute basisdirectory voor de opslag van de standaardsessie. De virtuele schijf wordt gemaakt op <storagePath>\wslc\sessions\<session>\storage.vhdx.
session.defaultBindingAddress IPv4-adres 127.0.0.1 Hostadres waaraan gepubliceerde poorten worden gebonden wanneer u wslc container run -p gebruikt zonder een adres op te geven. Instellen op 0.0.0.0 om te binden aan alle hostinterfaces.
session.hostLoopback string host.wslc.internal DNS-naam die containers kunnen gebruiken om de Windows host te bereiken. Stel in op none om deze naam uit te schakelen.
session.idleTimeout Nummer 30 Het aantal seconden dat de sessie-VM actief blijft nadat deze inactief is voordat deze wordt afgesloten. Moet groter zijn dan 0.
credentialStore wincred of file wincred Waar de containerregisterreferenties van wslc login worden opgeslagen. wincredmaakt gebruik van Windows Credential Manager. file maakt gebruik van een met DPAPI versleuteld bestand op %LOCALAPPDATA%\wslc\registry-credentials.json.

Groottewaarden zijn een geheel getal gevolgd door een optionele eenheid: B, KKB/, M/MB, /GBG, /PBT, of TBP/ (niet hoofdlettergevoelig). Eenheden zijn binair, dus 1GB is 1024 MB. Een waarde zonder eenheid wordt geïnterpreteerd als bytes en de minimumwaarde is 1 MB.

Note

Het wijzigen van session.storagePath nadat er al een sessie bestaat, verplaatst bestaande installatiekopieën, containers of opslag niet. De vorige opslag blijft aanwezig en er wordt een nieuwe, lege sessie gemaakt op de nieuwe locatie.

Wanneer wijzigingen van kracht worden

  • Sessie-instellingen (session.*) worden gelezen wanneer de containersessie wordt gestart. Als een sessie al wordt uitgevoerd, stopt u deze met wslc system session terminate, zodat de volgende wslc-opdracht een nieuwe sessie start met de bijgewerkte instellingen. Een sessie wordt ook zelfstandig afgesloten nadat deze gedurende session.idleTimeout seconden inactief is geweest.
  • session.defaultBindingAddress en credentialStore worden gelezen telkens wanneer u een wslc opdracht uitvoert.

Als het instellingenbestand een onbekende instelling, een ongeldige waarde of ongeldige YAML bevat, geeft wslc een waarschuwing weer die het bestandspad en het regelnummer bevat en gebruikt de ingebouwde standaardwaarde voor de betreffende instellingen.

Note

Deze instellingen zijn van toepassing op de sessie die door wslc.exe wordt gebruikt. Instellingen in .wslconfig zijn niet van toepassing op WSL-containers. Toepassingen die gebruikmaken van de WSL-container-API configureren hun eigen sessies in code, bijvoorbeeld met SessionSettings.

Aanvullende bronnen