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 スロークエリとログの例の説明

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

Linux で AutoFs マウント サービスをインストールするチュートリアル

Samba サービスでも NFS サービスでも、サーバーの起動時にリモート共有リソースが自動的にマ...

Facebookの情報アーキテクチャの分析

<br />原文: http://uicom.net/blog/?p=762 Faceb...

JavaScript で localStorage を使用する方法

.NET の世界に参入したい開発者であれば、何が可能なのかを知る必要があります。 .NET Fram...

MySQLデータベース入門:マルチインスタンス構成方法の詳しい説明

目次1. マルチインスタンスとは2. 複数インスタンスのインストールの準備3. MYSQLの複数イン...

Bootstrap 3.0 の特殊効果の学習ノート(表示と非表示、フローティングの除去、閉じるボタンなど)

この記事の主な内容は次のとおりです。 1. 閉じるボタン2.キャレット3. フローティングを素早く設...

Kali Linux インストール VMware ツールのインストール プロセスと VM インストール vmtools ボタン グレー

Xiaobai は vmtools のインストールを記録します。 1. 意義と機能: VMWARE ...

uni-app を使用して上部のナビゲーション バーにボタンと検索ボックスを表示する方法

最近、会社でアプリを開発する準備をしており、最終的に開発には uni-app フレームワークを使用す...

Vueプラグインの実装で発生した問題の概要

目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...

よく使用される MySQL 関数の完全なリスト (分類および要約)

1. 数学関数ABS(x) xの絶対値を返します。 BIN(x) xの2進値を返します(OCTは8...

MySQL可視化ツールNavicatへの接続方法

Navicatをインストールした後次のエラーが発生する場合があります: Client does no...

CSS+SVGでBステーションの課金効果を実現するサンプルコード

困難SVG グラフィックの 2 つのマスクの作成まず、コード左側のピンク色のボックスの内容ですこれに...

Dockerの基礎

序文: Docker はオープンソースのアプリケーション コンテナ エンジンであり、開発者はこれを使...

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレス...

iframe を通じて DOM 要素のサイズ変更を監視する

開発プロセス中によく発生する問題は、div のサイズ変更をどのように監視するかということです。たとえ...