Ustawienia kontenera WSL

Możesz dostosować sposób uruchamiania kontenerów przez wslc.exe, takich jak liczba procesorów CPU i ilość pamięci, której może używać sesja kontenera, za pomocą pliku ustawień YAML dla każdego użytkownika znajdującego się w %LOCALAPPDATA%\wslc\settings.yaml.

Otwórz plik ustawień

Plik ustawień nie istnieje domyślnie. Aby go utworzyć i otworzyć w domyślnym edytorze dla plików .yaml (lub w Notatniku, jeśli żaden edytor nie jest skojarzony), uruchom polecenie:

wslc settings

Przy pierwszym uruchomieniu tego polecenia wslc program tworzy plik ze wszystkimi ustawieniami skomentowanymi i ustawionymi na wartość default. Usuń komentarz z wiersza i zastąp default swoją wartością, aby zmienić ustawienie. Aby ponownie zastąpić plik zakomentowanymi ustawieniami domyślnymi, uruchom polecenie:

wslc settings reset

Oto przykładowy settings.yaml plik:

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

Dostępne ustawienia

Każde ustawienie akceptuje wartość default, co powoduje użycie wbudowanej wartości domyślnej. Ustawienia, których brakuje w pliku, również mają wbudowaną wartość domyślną.

Setting Wartość Default Description
session.cpuCount number Wszystkie procesory logiczne Liczba procesorów wirtualnych przypisanych do sesji kontenera. Wartość musi być większa niż 0.
session.memorySize size 50% całkowitej ilości pamięci w systemie Windows Maksymalna ilość pamięci przypisanej do sesji kontenera, na przykład 8GB.
session.maxStorageSize size 1TB Maksymalny rozmiar dysku wirtualnego (VHDX), który przechowuje obrazy i kontenery sesji, na przykład 500GB.
session.storagePath ścieżka %LOCALAPPDATA% Bezwzględny katalog podstawowy dla pamięci sesji domyślnej. Dysk wirtualny został utworzony pod adresem <storagePath>\wslc\sessions\<session>\storage.vhdx.
session.defaultBindingAddress Adres IPv4 127.0.0.1 Adres hosta, z którym wiążą się opublikowane porty w przypadku użycia wslc container run -p bez określania adresu. Ustaw wartość na 0.0.0.0, aby powiązać ze wszystkimi interfejsami hosta.
session.hostLoopback ciąg host.wslc.internal Nazwa DNS, której kontenery mogą używać do nawiązywania połączenia z hostem Windows. Ustaw na none, aby wyłączyć tę nazwę.
session.idleTimeout number 30 Liczba sekund, przez które maszyna wirtualna sesji pozostaje uruchomiona po przejściu w stan bezczynności, zanim zostanie zamknięta. Wartość musi być większa niż 0.
credentialStore wincred lub file wincred Miejsce przechowywania poświadczeń rejestru kontenerów z wslc login. wincred używa Menedżera poświadczeń systemu Windows. file program używa pliku szyfrowanego za pomocą interfejsu DPAPI pod adresem %LOCALAPPDATA%\wslc\registry-credentials.json.

Wartości rozmiaru to liczba całkowita, po której następuje opcjonalna jednostka: B, KB/M, /MBK, /GBG, T/TB lub P/PB (bez uwzględniania wielkości liter). Jednostki są binarne, więc 1GB wynosi 1024 MB. Wartość bez jednostki jest interpretowana jako bajty, a minimalna wartość to 1 MB.

Note

Zmiana session.storagePath po tym, jak sesja już istnieje, nie przenosi istniejących obrazów, kontenerów ani pamięci masowej. Poprzednia pamięć pozostanie na miejscu, a nowa, pusta sesja zostanie utworzona w nowej lokalizacji.

Kiedy zmiany zostaną wprowadzone

  • Ustawienia sesji (session.*) są odczytywane, gdy rozpoczyna się sesja kontenera. Jeśli sesja jest już uruchomiona, zatrzymaj ją za pomocą wslc system session terminate, aby następne polecenie wslc uruchomiło nową sesję ze zaktualizowanymi ustawieniami. Sesja jest również zamykana samodzielnie po session.idleTimeout sekundach bezczynności.
  • session.defaultBindingAddress i credentialStore są odczytywane za każdym razem, gdy uruchamiasz polecenie wslc.

Jeśli plik ustawień zawiera nieznane ustawienie, nieprawidłową wartość lub nieprawidłowy kod YAML, wslc wyświetla ostrzeżenie zawierające ścieżkę pliku i numer wiersza oraz używa wbudowanej wartości domyślnej dla odpowiednich ustawień.

Note

Te ustawienia dotyczą sesji używanej przez wslc.exe. Ustawienia w programie .wslconfig nie mają zastosowania do kontenerów WSL. Aplikacje korzystające z interfejsu API kontenera WSL konfigurują własne sesje w kodzie, na przykład za pomocą polecenia SessionSettings.

Dodatkowe zasoby