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.0ドライバとAlibaba Druidバージョン間の互換性の問題を解決

この記事では主に、MySQL 8.0 ドライバーと Alibaba Druid バージョン間の互換性...

時間範囲効果を実現するためのJavaScript

この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

Linux が Sudo 権限昇格の脆弱性を公開、どのユーザーでも root コマンドを実行可能

Linux で最も一般的に使用される重要なユーティリティの 1 つである Sudo は、ほぼすべての...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

この記事ではCSSボーダーの使い方を説明します

境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...

vue keep-alive の簡単な概要

1. 機能主にコンポーネントの状態を保持したり、再レンダリングを回避したりするために使用されます。 ...

W3C チュートリアル (15): W3C SMIL アクティビティ

SMIL は、Web にタイミングとメディアの同期のサポートを追加します。 SMIL は、Web に...

MySQLテクノロジーにおけるInnoDBロックの詳細な説明

目次序文1. ロックとは何ですか? 2. InnoDBストレージエンジンのロック2.1 ロックの種類...

フロントエンドAIカットのコツ(体験談)

AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...

MySQL の高可用性アーキテクチャの完全な説明: MHA アーキテクチャ

目次1. はじめに2. 構成3. 作業プロセス4. 建築5. 表示例MHA (Master HA) ...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

Vueの最初のレンダリングのプロセス全体についての簡単な説明

目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...

MySQL アーキテクチャのナレッジポイントの概要

1. データベースとデータベースインスタンスMySQL の研究では、データベースとデータベース イン...