
Windows上でコンテナ開発を行う際、「Docker Desktopのメモリ消費が重くて作業がつらい」「会社のPCで商用利用ライセンスの制約がある」といった悩みを抱えているエンジニアは少なくありません。
起動するたびにメモリを数GBも消費し、タスクトレイに常駐し続けるDocker Desktop。この課題を一変させるWindowsネイティブの新しいコンテナ実行基盤が、Microsoftの「WSL Containers(CLI名:wslc)」です。
WSL(Windows Subsystem for Linux)の拡張機能として動作するため、重い常駐デーモンやサードパーティ製アプリを介さず、Windowsのコマンドラインから直接Linuxコンテナを高速にビルド・起動できます。
この記事では、WSL Containersの仕組みとメリット、更新手順から、wslcコマンドの基本操作、Webサーバー(Nginx)の立ち上げ、GPUオプション(--gpus)を使ったローカルLLM(Ollama)の起動例、Docker Desktopとの違いや現在の制限事項までを解説します。
※2026年9月29日(現地時間)に「WSL 3.0.1」がリリースされ、WSL Containersは正式版(GA)になりました。プレビュー期に必要だった --pre-release は不要です。全体像と更新手順は 【WSL 3.0】WSL2との違いと導入手順|正式版コンテナの使い方 もあわせてご覧ください。
この記事で行うこと
- WSL Containersの概要と、Docker Desktopを使わずにコンテナを動かす仕組みを解説します
- WSLを最新版(3.0.1以降)へ更新してwslcコマンドを有効化する手順を説明します
- Docker互換コマンド(run, ps, build, stop)を使った基本的なコンテナ操作を解説します
- ポートフォワーディングを設定してブラウザからコンテナへアクセスする実践例を紹介します
--gpusオプションを利用したローカルLLM(Ollama)の実行例を紹介します- 実務導入におけるメリット・注意点・現在の制限事項(Compose未対応など)をまとめます
前提条件と動作環境
| 項目 | 内容 |
|---|---|
| OS | Windows 11(筆者はWindows 11 Pro相当のビルド 10.0.26200で確認。対応エディション・OSの公式要件はMicrosoftのドキュメントで確認してください) |
| CPU | 64bit互換CPU(Intel VT-x / AMD-V 有効) |
| メモリ | 8GB以上(ローカルLLM実行時は16GB〜32GB以上を推奨) |
| WSL | 3.0.1以降(正式版)。プレビュー期は2.9.3以降のプレリリース版が必要でした |
| 機能 | 仮想マシン プラットフォーム(有効) |
注意点として、Windows Homeエディションで動作するかどうかは、筆者が公式情報・実機のどちらでも確認できていません(筆者の検証環境はProエディションです)。Homeで利用する場合は、事前にMicrosoftの公式ドキュメントで要件を確認してください。
注意点
- WSL Containersは2026年9月29日に正式版(GA)になりました。本番運用のCI/CD基盤などへ導入する場合は、社内要件に合うか事前に検証してください。
- Docker Compose(compose.yamlによる複数コンテナ一括起動)は、2026年10月時点で提供されていません(筆者の3.0.1環境で
wslc composeは「認識されないコマンド」になりました)。Microsoftはwslc composeの対応を次の開発の中心として挙げています。複数サービスを連携させる開発では、当面はDocker EngineやPodmanとの併用をご検討ください。
1. WSL Containersとは何か:なぜDocker Desktopが不要になるのか
WSL Containersは、WSLの機能として提供されるMicrosoft公式のコンテナ実行環境です。
これまでWindows上でLinuxコンテナを動かすには、常駐型の仮想マシンとGUIアプリがセットになったDocker Desktopをインストールするのが標準的でした。しかし、Docker Desktopは常駐してメモリを消費する上、従業員250人以上または年間売上1,000万ドル以上の組織では有料ライセンスが必要です。
WSL Containersはこれらの問題を解消するために設計されました。
主な違いとアーキテクチャの比較
| 比較項目 | Docker Desktop | WSL Containers(wslc) |
|---|---|---|
| 開発元 | Docker社 | Microsoft |
| アーキテクチャ | 独自VM + 常駐Dockerデーモン | WSLの機能として統合(wslc.exe で操作) |
| メモリ消費 | 環境により異なる | 環境により異なる(実測はwslc vs Docker Desktopを参照) |
| コマンド体系 | docker コマンド | wslc(container)コマンド ※Docker互換 |
| ライセンス | 大規模組織では商用有料ライセンス | Windows標準機能(追加ライセンス費用なし) |
| Docker Compose | 対応 | 未提供(wslc compose は開発中) |
| GPU | 設定が必要 | --gpus オプションあり(wslc run --help で確認) |
Docker Desktopのようなアプリを別途入れずに、WSLの更新だけでコンテナを動かせる点が大きな特徴です。
2. WSL Containersの導入とセットアップ手順
WSL Containersを利用するには、WSLを3.0.1以降へ更新します。
手順1:PowerShellを起動する
PowerShellまたはWindowsターミナルを開きます。権限エラーが出る場合は、管理者として起動し直してください。
手順2:WSLをアップデートする
以下のコマンドを実行して、WSLを最新版(3.0.1以降)へ更新します。プレビュー期に必要だった --pre-release は不要です。
wsl --update
アップデートのダウンロードとインストールが完了したら、一度WSLを完全に終了して設定を反映させます。
wsl --shutdown
手順3:インストールの確認
ターミナルを再度開き、WSLおよびコンテナツールのバージョンを確認します。
wsl --version
出力結果でWSLのバージョンが3.0.1以上であることを確認したら、コンテナCLIが利用可能かチェックします。
wslc --version
バージョン番号が表示されれば、セットアップは完了です(筆者の環境では wslc 3.0.1.0 と表示されました)。container --version でも container 3.0.1.0 と表示されることを確認しています。
3. 基本的なwslcコマンドの使い方(Docker互換)
wslc のコマンド体系は、エンジニアが使い慣れているDockerコマンドと高い互換性を持っています。
コンテナの起動(wslc run)
公式のNginxイメージを取得し、バックグラウンドで起動する例です。
wslc run -d -p 8080:80 --name my-web nginx
-d: バックグラウンド(デタッチモード)で実行-p 8080:80: ホスト(Windows)のポート8080をコンテナのポート80に転送--name my-web: コンテナに名前を付与
コンテナが起動したら、ブラウザで http://localhost:8080 にアクセスしてください。「Welcome to nginx!」の初期画面が表示されれば正常に動作しています。
実行中のコンテナ一覧確認(wslc ps)
wslc ps
起動中のコンテナID、イメージ名、ステータス、ポート転送設定が一覧で表示されます。停止中のコンテナも含めて確認したい場合は wslc ps -a を使用します。
ログの確認と対話的シェル起動
コンテナの標準出力を確認するには以下のコマンドを実行します。
wslc logs my-web
コンテナ内部のBashシェルに入って作業したい場合は、exec コマンドを使用します。
wslc exec -it my-web bash
コンテナの停止と削除
作業が完了したコンテナを停止・削除する手順です。
# コンテナの停止
wslc stop my-web
# コンテナの削除
wslc rm my-web
ローカルイメージの確認とビルド
ダウンロード済みのコンテナイメージ一覧を確認します。
wslc image ls
Dockerfileから独自のイメージをビルドする場合は、以下のように実行します。
wslc build -t my-custom-app:latest .
4. 応用編:--gpus オプションでローカルLLM(Ollama)を動かす
wslc run にはGPUをコンテナへ渡す --gpus オプションがあります(wslc run --help で確認できます)。
※この章のOllamaの起動例は、今回の見直しでは実機のGPU環境で再検証していません。GPUドライバーなどの前提条件は、環境によって異なる場合があります。
OllamaコンテナのGPU駆動例
ローカルLLM実行ツール「Ollama」をGPU有効化状態で起動します。
wslc run -d --gpus all -p 11434:11434 --name ollama ollama/ollama:latest
--gpus all を付けると、利用可能なすべてのGPUをコンテナに渡す指定になります(ヘルプの説明: Add GPU devices to the container)。GPUを使った推論になるかどうかは、お使いのGPU・ドライバー・モデルによって異なります。
モデルの取得と対話実行
コンテナ内でモデル(Googleの軽量モデルGemma 3など)をダウンロードしてチャットを起動します。
# モデルのダウンロード
wslc exec ollama ollama pull gemma3:4b
# チャットの起動
wslc exec -it ollama ollama run gemma3:4b
プロンプトが表示されたら日本語で質問を入力して対話できます。終了する場合は Ctrl + D または /bye を入力します。
REST APIでの疎通確認
別のPowerShellウィンドウから以下のコマンドを実行してAPI経由での動作確認も可能です。
Invoke-RestMethod -Uri "http://localhost:11434/api/tags"
5. うまくいかない場合の確認ポイント
- wslc コマンドが見つからないエラー(command not found):
- WSLのバージョンが古い可能性があります。
wsl --updateを再度実行し、wsl --shutdownで再起動してからwsl --versionを確認してください。 - 仮想化支援機能エラー(Hyper-V / VT-x):
- BIOS/UEFI設定で「Intel VT-x」または「AMD-V」が有効になっているか確認してください。また、Windowsの機能で「仮想マシンプラットフォーム」がオンになっている必要があります。
- ポートが競合してアクセスできない:
- 指定したポート(8080や11434など)が他のアプリや既存のDocker Desktopで使われていないか、PowerShellで
netstat -ano | findstr 8080を実行して確認してください。
6. よくある質問
- Q. Docker Desktopと同時にインストールして共存できますか?
- A. 共存可能です。ポート番号やコンテナ名が重複しなければ、両方を同一のWindows環境上で同時にテスト・比較できます
- Q. Docker Composeはいつ対応しますか?
- A. 2026年9月29日の公式ブログで、
wslc composeの対応が次の開発の中心になると説明されています。具体的な提供時期は、筆者が確認した範囲では示されていません。当面はWSL2上のDocker EngineやPodmanとの併用をご検討ください - Q. Windows 11 Homeでも動きますか?
- A. 筆者は公式情報・実機のどちらでも確認できていません。Homeで利用する場合は、Microsoftの公式ドキュメントで対応エディションを確認してください
- Q. 既存のDockerイメージはそのまま使えますか?
- A. 筆者の環境では、Docker Hub公開の
nginxイメージをwslc runでそのまま起動できました。他のイメージの互換性は、イメージごとに確認してください
7. まとめ
- WSL Containers(wslc)は、WSLの機能としてLinuxコンテナを直接動かせるMicrosoft公式のコンテナ実行環境で、2026年9月29日に正式版(GA)になりました
- Docker Desktopを別途入れなくても、
wsl --updateでWSLを3.0.1以降へ更新すれば使えます - run、ps、buildなど、Dockerに近いコマンド構文で操作できます
--gpusオプションでGPUをコンテナに渡せます(効果は環境依存)- Docker Compose相当の
wslc composeは未提供のため、Composeが必須の案件では併用が必要です
本格的なサーバー運用ならVPSがおすすめ
自宅のPCで構築した環境をインターネット上に公開して本番運用するなら、初期費用無料で導入しやすい「さくらのVPS」などのクラウド環境が便利です。
PR
次に読むおすすめ記事
WSL2とDockerを使ったWindows開発環境の構築手順や高速化設定、トラブル解決を体系的に学びたい方は、以下の完全ガイドもあわせて参考にしてください。


