第02章:Windowsでの準備(Docker Desktop / WSL2 / VS Code連携)🪟🔧🐳
この章は「最初につまずきやすい地雷を全部先に踏み抜いて回避する章」だよ〜😆💣➡️✅ ここが通ると、以後の章がスイスイ進む👍✨
今日のゴール 🎯✨
次の3つが全部できたら勝ち🏆😎
- WSL2 が “最新寄り” で動いてる 🔄🐧
- Docker Desktop が WSL2 エンジンで動いてる 🐳⚙️
- VS Code から「WSL と Docker」を気持ちよく触れる 🧑💻✨
まずはチェック(最短で不安を潰す)✅🧯
✅ 1) WSLの状態を一発確認(PowerShellでOK)
wsl --status
wsl --version
wsl -l -v
wsl --status / wsl --version / wsl --update みたいなコマンドが公式で案内されてるよ。(Microsoft Learn)
手順1:WSLを最新にする 🔄🐧✨
古いWSLだと Docker Desktop が不安定になりやすい(固まる・メモリ食いすぎ・ネットワーク変など)ので、先に更新しちゃうのが正解🙆♂️✨ (Docker Documentation)
wsl --update
必要なら --web-download も使える(StoreじゃなくWebから更新)。(Microsoft Learn)
💡「WSLのバージョンが古い」系のエラーが出たら、まずこれで9割解決するやつ👍😄
手順2:WSL2のLinux(Ubuntuなど)を用意する 🐧📦
もしまだLinuxが入ってなければ、いちばん手軽なのはこれ👇(PowerShell)
wsl --install
Microsoftの手順としても wsl --install が基本になってるよ。(Microsoft Learn)
入ってるか確認はこれ👇
wsl -l -v
ここで VERSION が 2 になってればOK✅(1だったら WSL1 のまま)
もし 1 だったら、2へ昇格!⬆️
wsl --set-version <DistroName> 2
wsl --set-default-version 2
このあたりの確認・切り替えは Docker公式のWSL手順にも載ってるよ。(Docker Documentation)
手順3:Docker Desktop を “WSL2エンジン” で動かす 🐳⚙️
✅ 重要ポイント(ここだけ覚えて!)📌
- Docker Desktop は WSL 2.1.5 以上が最低ライン(できれば最新推奨)(Docker Documentation)
- 設定で Use the WSL 2 based engine をONにする (Docker Documentation)
- Resources → WSL Integration で Ubuntu 等をONにする (Docker Documentation)
🧭 手順(Docker Desktopの画面で)
-
Docker Desktop 起動 🐳
-
⚙️ Settings を開く
-
General → “Use the WSL 2 based engine” をON ✅ (Docker Documentation)
-
Resources → WSL Integration へ
- 使うディストリ(Ubuntu 等)をON ✅ (Docker Documentation)
-
Apply / Restart 🔁
🪤 もし WSL Integration が見当たらないなら、Dockerが「Windowsコンテナモード」になってる可能性があるよ。 その場合はタスクバーのDockerメニューから Switch to Linux containers を選ぶと復帰しやすい👍 (Docker Documentation)
手順4:Dockerが動くか “最小テスト” 🧪✅
✅ WSL側(Ubuntuのターミナル)で確認(おすすめ)
WSLを起動して(Ubuntu開いて)👇
docker version
docker run --rm hello-world
これで「Hello from Docker!」的なのが出たら、まず勝ち🏆🎉
💡 Docker公式も「WSLに最低1つディストリ入れて、統合ONにすると開発体験が良い」って言ってるよ。(Docker Documentation)
手順5:VS Code 連携(WSL / Dev Containers)🧑💻🔌✨
✅ 入れる拡張(2つ)
- WSL 拡張(ms-vscode-remote.remote-wsl)(Visual Studio Marketplace)
- Dev Containers 拡張(ms-vscode-remote.remote-containers)(Visual Studio Marketplace)
🧭 使い分け(ここだけ覚えると迷わない)🧠✨
- WSL拡張:VS Code を “WSLのフォルダ” に接続して開発する
- Dev Containers:VS Code を “コンテナの中” に接続して開発する(後で本領発揮🔥)(Visual Studio Code)
✅ 今日の動作確認(軽め)
- VS Code を開く
- 左下の緑のところ(リモート)から WSLに接続(またはコマンドで WSL: Connect…)🟩
- WSL側のホーム配下にフォルダ作って開く 📁
- VS Code のターミナルで
docker versionが通ればOK👌
超重要Tips:プロジェクトは “WSL側のファイル” に置く 📁🐧⚡
Bind mount(後の章でやるやつ)を速く・安定させるには、Windows側(C:)じゃなくてWSLのLinuxファイルシステム側に置くのが基本だよ💨 理由は「inotify(ファイル変更通知)が効く」「パフォーマンスが上がる」など。(Docker Documentation)
✅ 例:こういう場所(WSL内)
~/projects/todo-apiなど
🚫 避けたい例(遅くなりがち)
/mnt/c/...配下をそのままマウント多用(後で詰まりやすい)(Docker Documentation)
よくあるハマりポイント 🪤😵(先に潰す)
1) 「WSLが古い」系 🔄
➡️ wsl --update を最優先で実行!(Microsoft Learn)
2) 「docker コマンドがWSLで動かない」🐳❌
➡️ Docker Desktop 側で
- Use the WSL 2 based engine ✅
- WSL Integration で Ubuntu をON ✅ を確認!(Docker Documentation)
3) 「Expose daemon on tcp://localhost:2375…」みたいな設定を見つけた😈
➡️ 基本ONにしないでOK(TLSなし公開は危険になりうる)⚠️(Docker Documentation)
AI活用:エラー文で“原因候補トップ3”を出させる 🤖🔍✨
コピペして使えるテンプレ置いとくね📌💬 (エラー文はそのまま貼ってOK!)
テンプレ1:原因候補トップ3
- 「このエラーの原因候補を“可能性が高い順に3つ”出して。各候補に、確認コマンドも付けて。」
テンプレ2:今の状態を診断してもらう
- 「いまの状況:WSLはこれ(
wsl --status貼る)、dockerはこれ(docker version貼る)。どこが怪しい?次に見る順番を短く教えて。」
テンプレ3:やったことの確認(抜け漏れチェック)
- 「Docker Desktop の設定で見るべきチェック項目をチェックリストで出して。WSL統合のところも含めて。」
最終チェック(ここまでできたら次章へGO)🏁🎉
✅ PowerShellで wsl -l -v を見て、対象ディストリが VERSION 2
✅ Docker Desktop で WSL2エンジンが有効
✅ WSLのUbuntuで docker run --rm hello-world が通る
✅ VS Code に WSL と Dev Containers 拡張が入ってる (Visual Studio Marketplace)
次の第3章は「runで“とにかく動かす”」だから、ここまで通ってると楽しさが一気に出るよ〜🎉🐳🚀