🐧

Windows で WSL を使った Dev Container の始め方

に公開

Windows で WSL(Windows Subsystem for Linux)と VS Code の Dev Container を使って開発環境を構築する手順を、初心者向けに分かりやすく解説します。

この記事でできるようになること

  • Windows 上で Linux 環境(WSL2)を動かす
  • Docker コンテナ内で開発できる環境を作る
  • VS Code から簡単にコンテナを開いて開発する

前提条件

  • Windows 10(バージョン 2004 以降)または Windows 11
  • 管理者権限のあるアカウント

手順

1. WSL2 をインストールする

PowerShell を管理者として実行して、以下のコマンドを順番に実行します。

PowerShell(管理者権限)
wsl --install

Ubuntu 初回起動でユーザー名とパスワードを設定する(重要)

WSL のインストール後、スタートメニューから「Ubuntu」を起動すると初期セットアップが始まり、以下の順で質問されます。ここで作成するアカウントは Ubuntu 内のあなたのユーザーです(ホーム: /home/<username>)。

  1. 「Installing, this may take a few minutes...」という表示の後、次が出ます。
Enter new UNIX username: _
  • 半角英小文字・数字・ハイフン(-)が無難(例: taro, my-dev)。
  • 先頭に数字や大文字、スペースは使わないのが安全です。
  1. 続けてパスワードの入力を2回求められます。
New password:
Retype new password:
  • 入力中は画面に何も表示されません(正常です)。
  • このパスワードは sudo 実行時に使います。必ず控えておきましょう。
  1. セットアップ完了です。次回以降の起動方法:
    • スタートメニューから「Ubuntu」を起動
    • または PowerShell で ubuntu または wsl を実行

WSL2 がインストールされているか確認する

PowerShell(Ubuntu ではなく Windows 側)で以下のコマンドを実行します。

PowerShell
wsl -l -v

以下のような出力が表示されます。

  NAME      STATE           VERSION
* Ubuntu    Running         2

VERSION の列が 2 になっていれば WSL2 が正しくインストールされています。

作業用フォルダを作成する

Ubuntu ターミナル(PowerShell で ubuntu または wsl を実行して起動)で以下のコマンドを実行します。

Ubuntu ターミナル
cd ~
mkdir projects

この projects フォルダは、後で開発プロジェクトを保存する場所として使います。

2. Docker Desktop をインストールする

Docker Desktop 公式サイトからインストーラーをダウンロードして実行します。

インストール後、Docker Desktop を起動して設定を行います。

Settings(設定)を開く

  1. 画面右上の歯車アイコンをクリック
  2. GeneralUse the WSL 2 based engine にチェックを入れる
  3. ResourcesWSL IntegrationUbuntu(またはインストールした Linux)をオンにする
  4. Apply & Restart をクリック
オプション: Docker Desktop を使わず、WSL(Ubuntu)に Docker Engine を直接入れて Dev Container を使う

対象: Windows 11 + WSL2 + Ubuntu(例: 22.04)。Docker Desktop を使わない構成です。

  1. WSL の準備
  • 本記事の「1. WSL2 をインストールする」と「Ubuntu 初回起動でユーザー名とパスワードを設定する」を完了しておきます。
  1. Ubuntu を最新化(WSL 内の Ubuntu ターミナル) ※数分かかる場合があります。
sudo apt update && sudo apt upgrade -y
  1. Docker Engine のインストール(公式リポジトリ)
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Docker デーモンの起動(推奨: systemd を使う)
  • 推奨: systemd を有効化して Docker を管理します。
printf "[boot]\nsystemd=true\n" | sudo tee /etc/wsl.conf > /dev/null

PowerShell(Windows 側)で WSL を再起動:

wsl --shutdown

再度 Ubuntu を開き、Docker を起動・自動起動化します。

sudo systemctl enable --now docker
docker run --rm hello-world
  1. 非 root で Docker を使う設定
sudo usermod -aG docker $USER
  1. いったんシェルを抜ける
exit

再度 Ubuntu を開いて確認:

docker ps

以下のような出力が表示されれば成功です(エラーが出なければ OK):

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

メモ: Docker Desktop を使う構成との併用は推奨しません。どちらか片方に統一してください。

3. Docker が動作するか確認する

WSL のターミナルを開いて、以下のコマンドを実行します。

WSL ターミナル
docker --version

dockerのバージョン情報が表示されれば成功です。

4. VS Code と拡張機能をインストールする

  1. VS Code 公式サイトから VS Code をダウンロードしてインストール
  2. VS Code を開いて、以下の拡張機能をインストール
    • WSL(Microsoft 公式)
    • Dev Containers(Microsoft 公式)

5. WSL 内のプロジェクトを VS Code で開く

  1. VS Code を起動(Windows 側)
  • VS Code を開き、左下ステータスバーの ><(リモートインジケーター)をクリック。
  • WSL: Connect to WSL(または WSL: New Window using Distro...)を選択し、Ubuntu を選ぶ。
  • 初回は拡張機能のインストールを促されることがあります。案内に従い WSL と/com Dev Containers を WSL(緑の「Install in WSL: Ubuntu」)としてインストールし、再読み込みします。
  1. プロジェクトを開く(2通り)
  • 方法A: Git リポジトリを ~/projects にクローン(UI)

    • 左のアクティビティバーで Source Control(分岐アイコン)を開く → Clone Repository(またはスタート画面の Clone Git Repository...)。
    • 「Provide repository URL」に Git の URL を貼り付け(例: https://github.com/your-org/your-repo.git)。
    • 保存先の選択ダイアログで、projects を選択して Select as Repository Destination
    • クローン後に表示されるダイアログで Open を選ぶと、そのままリポジトリが開きます。
    • 注: 初回で Git が未インストールの場合、VS Code からインストール案内が出ます。案内に従うか、WSL ターミナルで sudo apt-get update && sudo apt-get install -y git を実行してください。
  • 方法B: 既にあるフォルダを開く

    • メニューの File > Open Folder... を選択。
    • パスに /home/<username>/projects/myapp を指定するか、Homeprojectsmyapp を選んで Select Folder

6. Dev Container で開く

VS Code の左下の ><(リモートインジケーター)をクリックして、以下のいずれかを実行します。

既に .devcontainer/devcontainer.json がある場合
Dev Containers: Reopen in Container を選択

7. コンテナ内で動作しているか確認する

VS Code のターミナル(コンテナ内)で以下を実行します。

ターミナル
cat /etc/os-release
whoami

コンテナ内の OS 情報とユーザー名が表示されれば成功です。

よくあるトラブル

Docker が動かない

動作が遅い

プロジェクトが Windows 側(C:\/mnt/c/)に置かれていないか確認してください。
WSL 内(~/)に移動すると大幅に改善されます。

次のステップ

Dev Container の環境構築が完了したら、次は開発に必要なツールをインストールしましょう。

続編記事
WSL で Sui 開発環境を構築する(Sui CLI、Node.js、pnpm)

この記事では、以下のツールのインストール方法を解説しています:

  • Sui CLI: Sui ブロックチェーン開発用コマンドラインツール
  • Node.js + npm: JavaScript/TypeScript 開発環境(NVM使用)
  • pnpm: 高速パッケージマネージャー

参考リンク

Discussion