Skip to main content

第02章:Windowsでの準備(Docker Desktop / WSL2 / VS Code連携)🪟🔧🐳

この章は「最初につまずきやすい地雷を全部先に踏み抜いて回避する章」だよ〜😆💣➡️✅ ここが通ると、以後の章がスイスイ進む👍✨


今日のゴール 🎯✨

次の3つが全部できたら勝ち🏆😎

  1. WSL2 が “最新寄り” で動いてる 🔄🐧
  2. Docker Desktop が WSL2 エンジンで動いてる 🐳⚙️
  3. 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の画面で)

  1. Docker Desktop 起動 🐳

  2. ⚙️ Settings を開く

  3. General → “Use the WSL 2 based engine” をON ✅ (Docker Documentation)

  4. Resources → WSL Integration

  5. 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拡張:VS Code を “WSLのフォルダ” に接続して開発する
  • Dev Containers:VS Code を “コンテナの中” に接続して開発する(後で本領発揮🔥)(Visual Studio Code)

✅ 今日の動作確認(軽め)

  1. VS Code を開く
  2. 左下の緑のところ(リモート)から WSLに接続(またはコマンドで WSL: Connect…)🟩
  3. WSL側のホーム配下にフォルダ作って開く 📁
  4. 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で“とにかく動かす”」だから、ここまで通ってると楽しさが一気に出るよ〜🎉🐳🚀