wslc.exe にあるユーザーごとの YAML 設定ファイルを使用して、%LOCALAPPDATA%\wslc\settings.yaml でコンテナーを実行する方法 (CPU の数やコンテナー セッションで使用できるメモリの量など) をカスタマイズできます。
設定ファイルを開く
設定ファイルは既定では存在しません。 これを作成し、.yaml ファイル用の既定のエディターで開くには (エディターが関連付けられていない場合はメモ帳で開きます)、次のコマンドを実行します。
wslc settings
このコマンドを初めて実行すると、wslc は、すべての設定がコメントアウトされ、default に設定されたファイルを作成します。 行のコメントを解除し、default を指定する値に置き換えて設定を変更します。 コメントアウトされた既定値でファイルを再度上書きするには、次を実行します:
wslc settings reset
settings.yaml ファイルの例を次に示します。
session:
cpuCount: 4
memorySize: 8GB
maxStorageSize: 500GB
storagePath: D:\data
defaultBindingAddress: 127.0.0.1
hostLoopback: host.wslc.internal
idleTimeout: 60
使用可能な設定
すべての設定では、default の値を指定できます。この値を指定すると、組み込みの既定値が使用されます。 ファイルに含まれていない設定にも、組み込みの既定値が使用されます。
| Setting | 値 | Default | 説明 |
|---|---|---|---|
session.cpuCount |
数値 | すべての論理プロセッサ | コンテナー セッションに割り当てられた仮想プロセッサの数。 0 より大きくなければなりません。 |
session.memorySize |
size | Windows の合計メモリの 50% | コンテナー セッションに割り当てられたメモリの最大量。たとえば 8GB です。 |
session.maxStorageSize |
size | 1TB |
セッションのイメージとコンテナーを格納する仮想ディスク (VHDX) の最大サイズ (たとえば 500GB)。 |
session.storagePath |
パス | %LOCALAPPDATA% |
既定のセッションのストレージの絶対ベース ディレクトリ。 仮想ディスクは、 <storagePath>\wslc\sessions\<session>\storage.vhdxに作成されます。 |
session.defaultBindingAddress |
IPv4 アドレス | 127.0.0.1 |
アドレスを指定せずに wslc container run -p を使用するときに、発行されたポートがバインドされるホスト アドレス。 すべてのホスト インターフェイスにバインドするには、 0.0.0.0 に設定します。 |
session.hostLoopback |
文字列 | host.wslc.internal |
コンテナーがWindows ホストに到達するために使用できる DNS 名。 この名前を無効にするには、none に設定してください。 |
session.idleTimeout |
数値 | 30 |
セッション VM がアイドル状態になってからシャットダウンするまでに実行状態が維持される秒数。 0 より大きくなければなりません。 |
credentialStore |
wincred または file |
wincred |
wslc loginからのコンテナー レジストリ資格情報が格納される場所。
wincred では、Windows Credential Manager が使用されます。
file は、 %LOCALAPPDATA%\wslc\registry-credentials.jsonで DPAPI で暗号化されたファイルを使用します。 |
サイズ値は、整数の後に省略可能な単位を続けたものです。 B、 K/KB、 M/MB、 G/GB、 T/TB、または P/PB (大文字と小文字は区別されません)。 単位はバイナリであるため、 1GB は 1024 MB です。 単位のない値はバイトとして解釈され、最小値は 1 MB です。
メモ
セッションが既に存在した後に session.storagePath を変更しても、既存のイメージ、コンテナー、またはストレージは移動されません。 前のストレージはそのまま残り、新しい空のセッションが新しい場所に作成されます。
変更が有効になるとき
- セッション設定 (
session.*) は、コンテナー セッションの開始時に読み取られます。 セッションが既に実行されている場合は、wslc system session terminateで停止して、次のwslcコマンドが更新された設定で新しいセッションを開始するようにします。 また、session.idleTimeout秒間アイドル状態になった後、セッションは自動的にシャットダウンされます。 -
credentialStoreコマンドを実行するたびに、session.defaultBindingAddressとwslcが読み取られます。
設定ファイルに不明な設定、無効な値、または無効な YAML が含まれている場合、 wslc は、ファイル パスと行番号を含む警告を出力し、影響を受ける設定に組み込みの既定値を使用します。
メモ
これらの設定は、 wslc.exe が使用するセッションに適用されます。
.wslconfigの設定は、WSL コンテナーには適用されません。
WSL コンテナー API を使用するアプリケーションは、たとえば SessionSettings を使用して、コード内で独自のセッションを構成します。
その他のリソース
Windows Subsystem for Linux