【WSL 3.0】WSL2との違いと導入手順|正式版コンテナの使い方

2026年9月29日(現地時間)、MicrosoftはWSLのリリース「3.0.1」を公開しました。これにあわせて、6月末からパブリックプレビューだった「WSL containers」(コマンドは wslc)が一般提供(GA)になっています。

ニュースで「WSL 3.0」という名前を見かけて、「WSL 2とは何が違うのか」「既存のUbuntu環境は作り直しが必要なのか」「プレビュー版だったコンテナ機能はどうなったのか」と気になっている方も多いのではないでしょうか。

結論として、今回の「WSL 3.0」は新しいディストリビューション方式ではなく、WSLパッケージ自体のバージョンです。実質的な目玉はWSL containersの正式版化で、wsl --update だけでDocker Desktopなしのコンテナ環境を使い始められます。

この記事では、WSL 3.0の位置づけとWSL 2との違い、GAで追加された機能、更新手順、コンテナを実際に動かす手順を、公式発表で確認できた範囲に絞って解説します。

この記事で行うこと

  1. WSL 3.0の位置づけとWSL 2との違いを整理する
  2. 正式版(GA)で追加された主な機能を確認する
  3. wsl --update でWSL 3.0.1へ更新する
  4. wslc でNginxコンテナを起動して動作確認する
  5. 既存のWSL 2環境・Docker Desktopと併用するときの注意点を確認する

前提条件・対象読者

Windowsで開発をしていて、WSLやDocker Desktopを使っている(または使い始めたい)方を対象にしています。

項目内容
対応バージョンWSL 3.0.1(2026年9月29日リリース)
最終確認日2026年10月3日
対象OSWindows 11を想定(要件の詳細はMicrosoftの公式ドキュメントで確認してください)
必要なものWSLがインストール済みで、wsl --update を実行できる環境

本記事の手順は、筆者の環境(Windows 11、ビルド 10.0.26200.9457)で、WSL 2.9.13から3.0.1へ wsl --update で更新したうえで実機確認しています。確認したのは wsl --version、wslc --version、container.exe の存在、wslc run、wslc list、wslc ps、wslc stop、wslc remove、wslc system info です。それ以外の新機能は公式発表の記載に基づいています。

WSL 3.0とは? WSL 2との違い

WSL 3.0はWSLパッケージのバージョン

GitHubのリリースページでは、今回のリリースは 3.0.1 で、直前のバージョンは 2.9.13 と記載されています。リリースノートの冒頭には「WSLc is generally available.」とあり、変更の中心はWSL containersの正式版化です。

Microsoftの公式ブログでも、今回の発表は「WSLの新機能であるWSL containersが一般提供になった」という位置づけで書かれています。ディストリビューションの実行方式が新しくなる、といった説明は、筆者が確認した範囲の公式発表(Windows Developer Blog、GitHubリリースノート)には見当たりませんでした。

既存のUbuntuは作り直しが必要?

筆者が確認した範囲では、公式発表に「ディストリビューションをWSL 3へ変換する」といった手順や説明はありません。現在の環境でどのバージョンで動いているかは、次のコマンドのVERSION列で確認できます。

wsl -l -v

筆者の環境では、3.0.1へ更新した後も、既存のディストリビューション(Ubuntu-24.04 と docker-desktop)のVERSION列は 2 のままでした。この結果は筆者の1環境での確認であり、すべての環境で同じとは限りません。

更新後に動作しない場合や不安がある場合は、更新前に wsl --export でバックアップを取ってから作業するのがおすすめです。

WSL 2(プレビュー期)とWSL 3.0.1の違い

項目2.9.13(プレビュー期)3.0.1(正式版)
WSL containers(wslc)パブリックプレビュー(導入に --pre-release が必要)一般提供(GA)
更新方法wsl --update --pre-releasewsl --update
container.exe エイリアス本ブログのプレビュー期の記事では利用可能と記載(今回は再確認していません)利用可能(筆者の3.0.1環境で確認)
企業向け管理–Intune・Microsoft Defender for Endpointがコンテナに対応

プレビュー期にコンテナ機能を使うには --pre-release が必要だった点は、窓の杜の記事で確認できます。表の「-」は、筆者が公式情報で未確認の項目です。

GAで追加された主な機能

1. WSL containersの一般提供

wslc.exe で、WindowsからLinuxコンテナのビルド・実行・デプロイを直接行えます。また、ネイティブWindowsアプリからコンテナを操作するためのAPIが、NuGetパッケージ Microsoft.WSL.Containers として提供されています。

Docker Desktopなどのサードパーティ製ツールを別途入れなくても、WSLをコンテナエンジンとして使える点が特徴です。

2. container.exe エイリアスと新コマンド

公式発表によると、wslc.exe には組み込みエイリアス container.exe があり、使い慣れたコンテナコマンドをそのまま入力できます。

プレビュー以降に追加されたコマンド・機能は次のとおりです。

コマンド・機能内容
wslc container restart動作中のコンテナを再起動する
wslc container cptarアーカイブ経由でコンテナとファイルをやり取りする
wslc system infoコンテナ環境の状態を一覧表示する
wslc network connect / wslc network disconnectコンテナをネットワークに接続・切断する
wslc network create任意のネットワークドライバーオプションを指定できる
wslc eventsコンテナの動きをリアルタイムに表示する
ヘルスチェックコンテナのヘルスチェックに対応
--stop-timeout / --mountwslc create、wslc run で利用可能(--stop-timeout は -1 で無期限)
ストレージパス設定既定の wslc セッションでコンテナの保存先ドライブを指定可能

3. ファイルアクセスとネットワークの改善

公式ブログでは、wslc では次の基盤改善が使えると説明されています。

  • Windows側のファイルへLinuxからアクセスする際、最大2倍高速になる
  • 新しいネットワークモード consomme がコンテナ用途で有効になり、開発・企業環境でのネットワーク互換性が向上する

これらの改善は、WSLのディストリビューションやWSL上の他のコンテナ技術にも恩恵があるとされています。効果は環境によって異なるため、数値はあくまで公式が示す最大値として捉えてください。

4. 企業向け管理機能

  • Microsoft Intuneに、コンテナ機能全体の利用可否を制御する「Allow WSL containers access」と、イメージの取得元を許可リストで制限する「WSL containers registry allow list」が追加されました。
  • Microsoft Defender for Endpointの既存のWSLプラグインがコンテナに対応し、コンテナ内のプロセス・ファイル・ネットワークの動きをWindowsホスト側の動きと結びつけて調査できます。

手順1:現在のWSLバージョンを確認する

PowerShellを開き、次のコマンドを実行します。

wsl --version

筆者の環境(更新前)では、次のように表示されました。

WSL バージョン: 2.9.13.0
カーネル バージョン: 6.18.40.1-1
WSLg バージョン: 1.0.79

※ 実際の表示は日本語環境の表記で、他の行(MSRDC・Direct3D・DXCore・Windows)は省略しています。バージョン番号は環境によって異なります。先頭行が3.0.1より前であれば、更新前の状態です。

手順2:WSL 3.0.1へ更新する

PowerShellで次のコマンドを実行します。プレビュー期に必要だった --pre-release は付けません。

wsl --update

権限エラーが出る場合は、PowerShellを管理者として起動し直して再実行してください。

コマンドラインから更新できない場合は、公式発表のとおり、GitHubの microsoft/WSL リポジトリのリリースページから最新版を入手する方法もあります。

Releases · microsoft/WSL
Windows Subsystem for Linux. Contribute to microsoft/WSL development by creating an account on GitHub.

手順3:WSLを再起動してバージョンを確認する

更新後、WSLを一度停止してから再度バージョンを確認します。

wsl --shutdown
wsl --version

先頭の「WSL バージョン」が 3.0.1 以降になっていれば更新完了です。

手順4:wslcでコンテナを動かしてみる

ここでは、筆者が3.0.1で動作確認したコマンドを使います。

1. wslcが使えることを確認する

wslc --version

筆者の環境では wslc 3.0.1.0 と表示されました。container.exe も C:\Program Files\WSL\ に配置されており、container --version で container 3.0.1.0 と表示されることを確認しています。wslc --help を実行すると、container、image、network、volume、run、build などのコマンド一覧を確認できます。

2. Nginxコンテナを起動する

wslc run -d -p 8080:80 --name web nginx

各オプションの意味は次のとおりです。

オプション意味
-dバックグラウンドで実行する
-p 8080:80Windows側の8080番ポートをコンテナの80番ポートへ公開する
--name webコンテナに web という名前を付ける

初回はイメージの取得に時間がかかる場合があります。筆者の環境では、実行後にブラウザ相当のHTTPアクセスで Welcome to nginx の応答を確認できました。

3. ブラウザで動作確認する

ブラウザで次のURLを開きます。

http://localhost:8080

「Welcome to nginx!」と表示されれば成功です。

4. 稼働中のコンテナを確認する

wslc list

筆者の環境では次のように表示されました(日本語環境の表記)。

コンテナー ID       画像      コマンド                     作成済み   状態             ポート                      名前
60b6d447e4df   nginx   "/docker-entrypoint.…"   7 秒前   Up 5 seconds   127.0.0.1:8080->80/tcp   web

wslc container list、wslc ps、container list でも同じ一覧が表示されました。ポートは 127.0.0.1:8080->80/tcp のように、ローカルホストに限定されて公開されていました。

5. コンテナを停止して削除する

wslc stop web
wslc remove web

wslc rm もコマンドとして認識されることを確認しています(wslc remove の別名として使えます)。

既存のWSL環境・Docker Desktopとの併用

更新前にバックアップを取る

筆者の確認範囲では、更新によってディストリビューションのデータが失われるという公式情報はありません。ただし、公式情報で動作保証までは確認できていないため、重要なデータがある環境では、更新前に wsl --export でバックアップを取っておくと安心です。

wsl --export Ubuntu D:\backup\ubuntu.tar

Ubuntu の部分は、wsl -l -v で表示されるディストリビューション名に置き換えてください。

Docker Desktopと併用する場合のポート重複

Docker Desktopとwslcの両方で、同じホスト側ポート(例: 8080)を公開しようとすると、ポートが重複して起動できない可能性があります。併用する場合は、公開するポート番号を分けてください。

Docker Compose相当の機能(wslc compose)は開発中

公式ブログによると、WSL containersで最も要望が多い機能はCompose対応で、次の開発の中心になると説明されています。既存の compose.yaml をそのまま使える形を目指して着手済みですが、2026年10月時点のGAでは提供されていません。

複数コンテナを compose で管理している案件では、当面はDocker Desktopまたはディストリビューション内のDocker Engineを併用するのが現実的です。

よくある質問(FAQ)

Q1. WSL 3.0にしたら wsl --set-version Ubuntu 3 を実行する必要がありますか?

筆者が確認した公式発表(Windows Developer Blog、GitHubリリースノート)には、そのような手順の記載はありません。現在のバージョンは wsl -l -v で確認でき、更新手順は wsl --update のみと案内されています。

Q2. Windows 10でもWSL containersは使えますか?

この記事では未確認です。対応OSの要件は、MicrosoftのWSL公式ドキュメントで最新情報を確認してください。

Q3. Docker Desktopをアンインストールしても大丈夫ですか?

用途によります。単体コンテナの起動、wslc build によるDockerfileのビルド、VS CodeのDev Containers連携が中心であれば、Docker Desktopなしでも使えます。一方で compose が必須の案件は、wslc compose が提供されるまでDocker Desktopなどとの併用が必要です。

Q4. プレビュー版で使っていた --pre-release はまだ必要ですか?

不要です。窓の杜の記事と公式ブログのとおり、正式版では wsl --update だけで利用できます。

まとめ

  • 「WSL 3.0」は、2026年9月29日公開のWSLパッケージ 3.0.1 のバージョンです。
  • 公式発表の中心は、WSL containers(wslc)の一般提供です。
  • 更新は wsl --update のみで、プレビュー期の --pre-release は不要です。
  • restart・cp・system info などの新コマンド、Intune・Defender for Endpoint対応が追加されています。
  • compose 対応はまだ開発中のため、Composeを使う案件では併用を検討してください。

Docker Desktopの常駐やライセンスが気になっている方は、まず wsl --update で更新して、wslc run を試してみるのがおすすめです。

次に読むおすすめ記事

WSLとDockerを組み合わせたWindows開発環境の全体像や初期セットアップを体系的に学びたい方は、以下のまとめ記事もあわせて参考にしてください。

WSL2+Dockerで作るWindows開発環境構築まとめ
WindowsマシンでWeb開発やバックエンド開発、AIアプリ開発を行う際、いまや欠かせない標準構成となったのが「Windows + WSL2 + Docker + VS Code」の組み合わせです。かつては「Web開発といえばMac一択」…

WSL containersの具体的な使い方は、以下の個別記事で解説しています。

参考情報