Docker での WSL の構成と変更の問題について

Docker での WSL の構成と変更の問題について

https://docs.microsoft.com/ja-jp/windows/wsl/wsl-config を参照してください。

.wslconfig

  • %UserProfile%ディレクトリに保存されます。
  • WSL 2 バージョンとして実行されているすべてのインストール済み Linux ディストリビューションにわたってグローバルに設定を構成するために使用されます。WSL 2 で実行されるディストリビューションにのみ使用できます。
  • WSL 1 として実行されているディストリビューションは、仮想マシンとして実行されていないため、この構成の影響を受けません。
  • %UserProfile%ディレクトリに移動するには、PowerShell でcd ~を使用してホーム ディレクトリ (通常はユーザー プロファイル、 C:\Users\<UserName> ) にアクセスするか、Windows ファイル エクスプローラーを開いてアドレス バーに%UserProfile%と入力します。ディレクトリ パスは、 C:\Users\<UserName>\.wslconfigのようになります。WSL はこれらのファイルの存在を検出し、その内容を読み取り、WSL を起動するたびに構成設定を自動的に適用します。ファイルが見つからないか、形式が正しくない場合 (マークアップの書式が不適切)、WSL は構成設定を適用せずに通常どおり起動し続けます。

実行している WSL のバージョンを確認します。

注記

wsl.conf ファイルを使用してディストリビューションごとの設定を調整できるのは、Windows ビルド 17093 以降のみです。

.wslconfig の構成設定

.wslconfig ファイルは、WSL 2 で実行されているすべての Linux ディストリビューションの設定をグローバルに構成します(ディストリビューションごとの構成については、wsl.conf を参照してください)。

.wslconfig ファイルを保存する場所については、.wslconfig を参照してください。

注記

.wslconfigを使用したグローバル構成オプションは、Windows ビルド 19041 以降で WSL 2 として実行されているディストリビューションでのみ使用できます。これらの変更を有効にするには、 wsl --shutdownを実行して WSL 2 VM をシャットダウンし、WSL インスタンスを再起動する必要がある場合があることに注意してください。

このファイルには、WSL 2 ディストリビューションを実行する VM に影響する次のオプションを含めることができます。

セクションラベル: [wsl2]

価値デフォルトノート
カーネルMicrosoftが構築したカーネルは受信トレイを提供したカスタム Linux カーネルへの絶対 Windows パス。
メモリサイズWindows 上の総メモリの 50% または 8GB のいずれか少ない方。20175 より前のビルドの場合: Windows 上の総メモリの 80% WSL 2 VM に割り当てるメモリの量。
プロセッサ番号Windows上のプロセッサ数は同じWSL 2 VM に割り当てるプロセッサの数。
ローカルホスト転送ブール値真実WSL 2 VM 内のワイルドカードまたはローカルホストにバインドされたポートが、localhost:port 経由でホストから接続可能かどうかを指定するブール値。
カーネルコマンドライン空白追加のカーネルコマンドライン引数。
スワップサイズWindows のメモリ サイズの 25% を最も近い GB に切り上げます。 WSL 2 VM に追加するスワップ領域の量。スワップ ファイルがない場合には 0 です。スワップ ストレージは、ハードウェア デバイスのメモリ需要が制限を超えた場合に使用されるディスクベースの RAM です。
スワップファイル%USERPROFILE%\AppData\Local\Temp\swap.vhdxスワップ仮想ハード ディスクへの絶対 Windows パス。
ページレポートブール値真実デフォルトの true 設定により、Windows は WSL 2 仮想マシンに割り当てられた未使用のメモリを再利用できるようになります。
GUIアプリケーションブール値*真実WSL での GUI アプリケーション (WSLg) のサポートをオンまたはオフにするブール値。Windows 11 でのみ使用できます。
デバッグコンソールブール値*間違いWSL 2 ディストリビューション インスタンスの起動時に dmesg の内容を表示する出力コンソール ウィンドウをオンにするブール値。Windows 11 でのみ使用できます。
ネストされた仮想化ブール値*真実ネストされた仮想化をオンまたはオフにするブール値。これにより、他のネストされた VM が WSL 2 内で実行できるようになります。Windows 11 でのみ使用できます。
vmIdleタイムアウト番号* 60000 VM がシャットダウンされるまでのアイドル時間 (ミリ秒)。Windows 11 でのみ使用できます。

path値のエントリは、エスケープされたバックスラッシュを含む Windows パスである必要があります (例: C:\\Temp\\myCustomKernel

size値のエントリは、サイズとそれに続く単位 (例: 8GBまたは512MB ) でなければなりません。

値のタイプの後に * が付いているエントリは、Windows 11 でのみ使用できます。

.wslconfig ファイルの例

以下の.wslconfigサンプル ファイルは、使用可能な構成オプションの一部を示しています。この例では、ファイル パスはC:\Users\<UserName>\.wslconfigです。

# 設定はWSL 2で実行されているすべてのLinuxディストリビューションに適用されます
[wsl2]
 
# VM メモリの使用を 4 GB 以下に制限します。これは GB または MB を使用して整数として設定できます。
メモリ=4GB
 
# VMが2つの仮想プロセッサを使用するように設定します
プロセッサ=2
 
# インストールしたディストリビューションで使用するカスタム Linux カーネルを指定します。使用されるデフォルトのカーネルは https://github.com/microsoft/WSL2-Linux-Kernel にあります。
カーネル=C:\\temp\\myCustomKernel
 
# 追加のカーネルパラメータを設定します。この場合は Centos 6 などの古い Linux ベースイメージを有効にします。
kernelCommandLine = vsyscall = エミュレート
 
# スワップストレージ容量を 8GB に設定します。デフォルトは使用可能な RAM の 25% です。
スワップ=8GB
 
# スワップファイルのパスの場所を設定します。デフォルトは %USERPROFILE%\AppData\Local\Temp\swap.vhdx です。
スワップファイル=C:\\temp\\wsl-swap.vhdx
 
# ページレポートを無効にすると、WSL は Windows から要求されたすべての割り当て済みメモリを保持し、空きになったときに何も解放しません。
ページレポート=false
 
# WSL 2 ローカルホストを Windows ローカルホストにバインドするためのデフォルト接続をオフにします
ローカルホスト転送=true
 
# ネストされた仮想化を無効にする
ネストされた仮想化=false
 
# デバッグ用に WSL 2 ディストリビューションを開くときに、dmesg の内容を表示する出力コンソールをオンにします
デバッグコンソール=true

これで、docker での WSL 構成変更に関するこの記事は終了です。docker での WSL 構成変更に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker 経由で wsl の tar ファイルを作成する方法
  • IDEA で Docker を WSL2 にデプロイする詳細なプロセス
  • Docker Desktop をインストールすると、エラー メッセージが表示されます: WSL 2 のインストールが完了していません (エラー メッセージを解決してください)
  • Windows 10にWSL2 Ubuntu20.04をインストールしてdocker環境を構築する方法
  • Windows 10 サブシステム Ubuntu (WSL) に Docker をインストールするチュートリアル (画像とテキスト付き)

<<:  CSS3で実装された天気アイコンのアニメーション効果

>>:  完全なMySQL学習ノート

推薦する

MySQL における 8 つの一般的な SQL 使用例

序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...

JSは5つ星の賞賛効果を達成

JS を使用してオブジェクト指向メソッドを実装し、JD.com の 5 つ星レビュー効果を実現します...

JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

目次準備する5つの武器…のためにオブジェクト.キーオブジェクト.getOwnPropertyName...

JavaScript は単一のリンクリストプロセス分析を実装します

序文:複数の要素を格納するために、配列は最も一般的に使用されるデータ構造ですが、配列には多くの欠点も...

Vue ブラウザログアウトの実装例

目次1. beforeunload イベント2. アンロードイベント3. ソースコードプロジェクトの...

JavaScript を使用して userAgent を通じていくつかの一般的なブラウザを判別する方法

序文通常、h5 ページを作成するときは、WeChat、QQ、Weibo などのエコシステム内でトラフ...

Tencent Cloudでhive3.1.2を構築する方法を教えます

環境の準備操作を開始する前に、hadoop バージョンがインストールされていることを確認してください...

HTML ドロップダウン ボックスの SELECT オプションを変更する複数の方法

フォームが送信されると、返された HTML ページが再レンダリングされ、SELECT コントロールの...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

JavaScript で簡単な計算機を実装する

この記事の例では、参考までに簡単な計算機を実装するためのJavaScriptの具体的なコードを共有し...

ウェブサイトのコンテンツの一部を傍受するための iframe を実装するためのアイデアとコード

コードをコピーコードは次のとおりです。 <div スタイル="幅:630px;高さ:...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

CSSでサウンドを再生するいくつかのテクニック

CSS は、スタイル、レイアウト、プレゼンテーションの領域です。色彩、サイズ、アニメーションが溢れて...

Vue バックグラウンドでステータス ラベルをエレガントに記述する例

目次序文最適化変数の抽出二次包装 el-tag コンポーネント使用要約する序文バックエンドシステムの...

Linux ログ内のキーワードとその前後の情報を検索する方法の例

日常業務では、ログを表示する必要がよくあります。たとえば、 tail コマンドを使用してログをリアル...