
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で追加された機能、更新手順、コンテナを実際に動かす手順を、公式発表で確認できた範囲に絞って解説します。
この記事で行うこと
- WSL 3.0の位置づけとWSL 2との違いを整理する
- 正式版(GA)で追加された主な機能を確認する
wsl --updateでWSL 3.0.1へ更新するwslcでNginxコンテナを起動して動作確認する- 既存のWSL 2環境・Docker Desktopと併用するときの注意点を確認する
前提条件・対象読者
Windowsで開発をしていて、WSLやDocker Desktopを使っている(または使い始めたい)方を対象にしています。
| 項目 | 内容 |
|---|---|
| 対応バージョン | WSL 3.0.1(2026年9月29日リリース) |
| 最終確認日 | 2026年10月3日 |
| 対象OS | Windows 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-release | wsl --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 cp | tarアーカイブ経由でコンテナとファイルをやり取りする |
wslc system info | コンテナ環境の状態を一覧表示する |
wslc network connect / wslc network disconnect | コンテナをネットワークに接続・切断する |
wslc network create | 任意のネットワークドライバーオプションを指定できる |
wslc events | コンテナの動きをリアルタイムに表示する |
| ヘルスチェック | コンテナのヘルスチェックに対応 |
--stop-timeout / --mount | wslc 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 リポジトリのリリースページから最新版を入手する方法もあります。

手順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:80 | Windows側の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 だけで利用できます。
まとめ
Docker Desktopの常駐やライセンスが気になっている方は、まず wsl --update で更新して、wslc run を試してみるのがおすすめです。
次に読むおすすめ記事
WSLとDockerを組み合わせたWindows開発環境の全体像や初期セットアップを体系的に学びたい方は、以下のまとめ記事もあわせて参考にしてください。

WSL containersの具体的な使い方は、以下の個別記事で解説しています。
- VS Code Dev Containersと連携する手順: https://snowsystem.net/windows/wslc-dev-containers/
- Dockerfileからカスタムイメージをビルドする手順: https://snowsystem.net/windows/wslc-dockerfile-build/
- Docker Desktopとのメモリ消費・起動速度の比較: https://snowsystem.net/windows/wslc-vs-docker-desktop/
