※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Windows WSL2でDockerを使う開発環境構築完全ガイド
WindowsでDockerを使う開発環境を構築したいと考えているエンジニアやプログラミング学習者の方は多いでしょう。WSL2(Windows Subsystem for Linux 2)とDocker Desktopを組み合わせることで、LinuxネイティブなDockerコンテナ環境をWindows上で動かすことができます。
この記事では、WSL2のインストールからDocker Desktopの設定、実際にコンテナを起動するまでの手順を初心者にもわかりやすく解説します。
- WSL2のインストールと初期設定方法
- Docker DesktopをWSL2バックエンドで設定する方法
- 基本的なDockerコマンドの使い方
- docker-composeでの複数コンテナ管理方法
- よくあるエラーとトラブルシューティング

WSL2とDockerの関係を理解しよう
WSL2はWindowsの中でLinuxカーネルを動かす仕組みです。DockerはLinuxのコンテナ技術を使うため、従来はWindowsネイティブでは動作が遅くなる問題がありました。WSL2を使うことでLinuxカーネルを直接利用でき、パフォーマンスが大幅に改善されます。
| 比較項目 | WSL1 | WSL2 |
|---|---|---|
| Linuxカーネル | エミュレーション | 実際のLinuxカーネル |
| ファイルシステム性能 | 遅い | 高速 |
| Docker対応 | 非推奨 | 推奨・公式サポート |
| システムコール互換性 | 一部非対応 | ほぼ完全対応 |
動作要件の確認
- Windows 10 バージョン2004以降(ビルド19041以降)またはWindows 11
- BIOSでの仮想化(Virtualization Technology)が有効になっていること
- RAM:8GB以上推奨(最低4GB)
- ストレージ:20GB以上の空き容量推奨
STEP1:WSL2をインストールする
PowerShellからワンコマンドでインストール
Windows 10 バージョン2004以降・Windows 11では、PowerShellの1つのコマンドでWSL2をインストールできます。
- スタートメニューを右クリック→「Windows PowerShell(管理者)」または「ターミナル(管理者)」を開く
- 以下のコマンドを実行:
wsl --install
- インストールが完了したらPCを再起動する
- 再起動後にUbuntuのセットアップ画面が自動で開く
- Linuxのユーザー名とパスワードを設定する(任意のものでOK)
インストール済みのWSLをWSL2に変更する場合
# 現在のWSLバージョンを確認 wsl --list --verbose # デフォルトをWSL2に設定 wsl --set-default-version 2 # 既存のディストリビューションをWSL2に変換(例:Ubuntu) wsl --set-version Ubuntu 2
WSL2のインストール確認
wsl --list --verbose # VERSION列が「2」になっていれば成功

STEP2:Docker Desktopをインストール・設定する
Docker Desktopのインストール手順
- ブラウザで「Docker Desktop for Windows」を検索してDocker公式サイト(docker.com)からインストーラーをダウンロード
- ダウンロードした「Docker Desktop Installer.exe」を実行
- インストール設定画面で「Use WSL 2 instead of Hyper-V(推奨)」にチェックが入っていることを確認
- 「OK」をクリックしてインストール開始
- インストール完了後にPCを再起動
WSL2バックエンドの設定確認
- Docker Desktopを起動
- 右上の「歯車アイコン(Settings)」をクリック
- 「General」タブで「Use the WSL 2 based engine」にチェックが入っていることを確認
- 「Resources」→「WSL Integration」をクリック
- 「Enable integration with my default WSL distro」をオンにする
- 使用するLinuxディストリビューション(例:Ubuntu)のトグルをオンにする
- 「Apply & Restart」をクリック
Dockerのインストール確認
WSL2のUbuntuターミナルを開いて以下を実行:
docker --version # Docker version 26.x.x と表示されればOK docker run hello-world # Hello from Docker! と表示されれば正常動作
STEP3:基本的なDockerコマンドを覚えよう
よく使うDockerコマンド一覧
| コマンド | 説明 |
|---|---|
| docker pull イメージ名 | Docker Hubからイメージをダウンロード |
| docker images | ローカルのイメージ一覧を表示 |
| docker run -it イメージ名 | コンテナを起動してターミナルに接続 |
| docker ps | 起動中のコンテナ一覧を表示 |
| docker ps -a | 停止中を含む全コンテナを表示 |
| docker stop コンテナID | コンテナを停止 |
| docker rm コンテナID | コンテナを削除 |
| docker rmi イメージID | イメージを削除 |
実践例:Nginxコンテナを起動してWebサーバーを確認する
# Nginxコンテナをバックグラウンドで起動(ホストの8080ポートにマッピング) docker run -d -p 8080:80 --name my-nginx nginx # ブラウザで http://localhost:8080 にアクセスするとNginxの初期画面が表示される # コンテナを停止・削除 docker stop my-nginx docker rm my-nginx
STEP4:docker-composeで複数コンテナを管理する
docker-composeを使うと、複数のコンテナ(例:WebサーバーとDBサーバー)をまとめて定義・起動できます。
docker-compose.ymlの基本例(Nginx+MySQL)
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydb
ports:
- "3306:3306"
docker-composeの基本コマンド
# コンテナをバックグラウンドで起動 docker compose up -d # コンテナの状態確認 docker compose ps # ログを確認 docker compose logs # コンテナを停止・削除 docker compose down

よくあるエラーとトラブルシューティング
「仮想化が有効になっていません」エラー
BIOSで仮想化機能(Intel VT-x またはAMD-V)を有効にする必要があります。
- PCを再起動してBIOS画面に入る(起動時にF2・F10・Delキーなど機種による)
- 「Advanced」または「CPU Configuration」の項目で「Intel Virtualization Technology」または「SVM Mode」を「Enabled」に変更
- 設定を保存して再起動
Docker Desktopが起動しない・重い場合
- Docker Desktopを一度終了してから再起動する
- WSLのアップデートを実行:PowerShellで
wsl --update - メモリ使用量が高い場合:WSL2のメモリ上限を設定する(後述)
WSL2のメモリ使用量を制限する
WSL2はデフォルトで物理RAMの50〜80%を使用する場合があります。%USERPROFILE%\.wslconfig ファイルを作成して制限できます。
[wsl2] memory=4GB processors=2 swap=2GB
設定後は wsl --shutdown でWSLを再起動すると反映されます。
よくある質問(FAQ)
Q1. Docker Desktopは無料で使えますか?
A. 個人利用・小規模ビジネス(従業員250名未満かつ年間収益1000万ドル未満)・教育・非商用オープンソース開発であれば無料で使用できます(2026年時点)。企業での商用利用は有料ライセンスが必要です。
Q2. WSL2とVirtualBoxは同時に使えますか?
A. Windows 10 バージョン2004以降のWSL2はHyper-Vベースのため、古いバージョンのVirtualBoxとは競合することがありました。VirtualBox 6.0以降ではHyper-V共存モードに対応しており、Windows 11では基本的に同時使用可能です。
Q3. WSL2内のファイルをWindowsのエクスプローラーから操作できますか?
A. はい。エクスプローラーのアドレスバーに \\wsl$\Ubuntu と入力するとWSL2のファイルシステムにアクセスできます。また、WSL2のターミナルで explorer.exe . と入力すると現在のディレクトリをエクスプローラーで開けます。
Q4. VS CodeからWSL2のDockerコンテナに接続できますか?
A. はい。VS Codeの「Remote – WSL」拡張機能と「Dev Containers」拡張機能を使うと、WSL2上のDockerコンテナ内で直接コードを編集・デバッグできます。開発体験はLinuxネイティブとほぼ同等になります。
Q5. docker-composeとDocker Composeの違いは何ですか?
A. 旧来は別途インストールが必要な docker-compose(Python製・V1)でしたが、現在はDocker CLIに統合された docker compose(Go製・V2)が標準です。Docker Desktop 3.4.0以降はV2がデフォルトで含まれているため、別途インストールは不要です。
まとめ
WSL2とDocker Desktopを組み合わせることで、WindowsでもLinuxネイティブに近いDocker開発環境が実現できます。
| 手順 | 内容 |
|---|---|
| 1. WSL2インストール | PowerShell管理者で wsl --install |
| 2. Docker Desktopインストール | 公式サイトからダウンロード・WSL2バックエンドを選択 |
| 3. WSL Integration設定 | Docker Desktop設定でUbuntuとの統合をオン |
| 4. 動作確認 | docker run hello-world で確認 |
WSL2上でDockerを使いこなせると、本番のLinuxサーバーと同じ環境でローカル開発が可能になり、「ローカルでは動くのに本番で動かない」問題を大幅に減らせます。ぜひ構築してみてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!