VSCode + WSL Containerでコンテナ接続してみた

VSCode + WSL Containerでコンテナ接続してみた

WSL 3.0.1のコンテナ機能を使って、現在のRancher Desktop環境をWSLコンテナへ切り替えることに挑戦しました。VSCodeの設定変更やdocker-composeの対応状況など、実際に試した結果をまとめています。
2026.10.02

クラスメソッドオペレーションズの髙嶋です。

私はRancher Desktopを使用してDockerコンテナを起動し、VSCode/Cursorから接続して開発環境として使用しています。

先日(2026年9月30日)にWindowsのWSLがバージョンアップし、コンテナを起動できるようになったとのことでした。今回は今使っているDockerコンテナ環境をどうすればWSLコンテナへ切り替えることができるか試してみました。

今回の検証環境

  • ホストOS:Windows 11(25H2)
  • WSL:3.0.1.0
  • VSCode:1.140.0
  • Dev Containers拡張機能 :0.469.0

WSL バージョンアップ

WSL Containerを使用できるのは 3.0.1 からです。該当バージョンより古い場合はバージョンアップが必要になります。

・バージョンアップ前

> wsl --version
WSL バージョン: 2.6.1.0
カーネル バージョン: 6.6.87.2-1
WSLg バージョン: 1.0.66
MSRDC バージョン: 1.2.6353
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.9448

更新コマンド

> wsl --update

上記コマンドを実行すると

更新プログラムを確認しています。
Linux 用 Windows サブシステムをバージョン 3.0.1 に更新しています。

というメッセージが表示されるのでしばらく待ちます。コマンドが終了して再度バージョンを確認すると該当バージョンに更新されたことが確認できました。

・バージョンアップ後

> wsl --version
WSL バージョン: 3.0.1.0
カーネル バージョン: 6.18.40.1-1
WSLg バージョン: 1.0.79
MSRDC バージョン: 1.2.7214
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.9448

> wslc --version
wslc 3.0.1.0

起動してみる

私が普段使用している環境のファイル構成は下記です。これをいつもはWSL上のUbuntu配下に配置して使用してます。まずはこのフォルダを丸っとWindwos上にコピーして起動できるか試してみます。

./
├── .devcontainer/
│   ├── devcontainer.json
│   └── docker-compose.extend.yml
├── dev/
├── docker-compose.yml
└── Dockerfile

VSCodeで先ほどコピーしたフォルダを開き、「コンテナーで再度開く」をクリックします。

エラーになりました。。Dockerデーモンが動いていない(Rancher Desktopが停止している)状態というメッセージでした。どうもWSL Containerを使用するようにするには設定が必要なようです。

VSCodeの設定を確認したところ、Docker Pathという項目があり、値をdocker から wslc に更新する必要がありました。
※画像の説明文だと WSLc と大文字を含むようになっていますが、すべて小文字で大丈夫でした

設定変更後、再度「コンテナーで再度開く」をクリックします。
ビルド画面に進みましたが、下記のようなエラー(一部抜粋)が表示され、途中で処理が中断されてしまいました。

[14030 ms] Start: Run: wslc build -t dev_container_feature_content_temp -f ...\Dockerfile.buildContent ...
  | naming to docker.io/library/dev_container_feature_content_temp

[15810 ms] Start: Run: docker-compose --project-name wslc -f ...\docker-compose.yml -f ...\docker-compose.extend.yml -f ...\docker-compose.devcontainer.build-1790872448030.yml build

#4 [internal] load metadata for docker.io/library/dev_container_feature_content_temp:latest
#4 ERROR: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

Features用のイメージはwslc側でビルドされますが、composeはRancher側の docker-compose で実行されるため、そのイメージが見つからず失敗したようです。こちらの記事によると、「今後は、要望がもっとも多いという「wslc compose」の実装に注力するという。」とのことなので、WSLにはcomposeに該当する機能がまだないようです。今後に期待です。

そのため、composeを使用しない構成に設定を更新します。
私の環境では開発対象のアプリケーションごとにコンテナ環境を定義しています。一部のアプリケーションではデータベース用コンテナなど、複数コンテナを起動して使用していますが、今回は1コンテナだけ使用するように変更します。

単独のコンテナに対してdocker-compose.ymlで設定している内容は主に下記になります。

  • 環境変数
  • コンテナへのファイル/フォルダのマウント

これらの設定は devcontainer.json でも書くことができるので、そちらへ記述を移動します。

docker-compose.yml
services:
  dev:
    build: .
    working_dir: /home/user/dev
    environment:
      TZ: Asia/Tokyo
    volumes:
      - ./dev:/home/user/dev

としていた場合、

devcontainer.json
{
  "name": "Remote-dev Project",
  "build": {
    "dockerfile": "../Dockerfile",
    "context": ".."
  },
  "containerEnv": {
    "HOME": "/home/user",
    "TZ": "Asia/Tokyo"
  },
  "mounts": [
    "source=${localWorkspaceFolder}/dev,target=/home/user/dev,type=bind"
  ],
  "workspaceFolder": "/home/user/dev",
  ・
  ・
  ・
}

のように書くことができます。

修正後のファイル/フォルダ構成は下記のようになります。

./
├── .devcontainer/
│   └── devcontainer.json
├── dev/
└── Dockerfile

composeを使用しない構成に修正できたので、再度「コンテナーで再度開く」をクリックします。今度はビルドが完了し、コンテナ環境に接続することができました。

エディタ内で新規ファイルを作成すると、マウント元にもきちんとファイルが残されていました。

また、wslc imagesコマンドを実行すると、ビルドされたイメージとビルドに必要なイメージが保持されていることが確認できました。

> wslc images
REPOSITORY                                                                  TAG      IMAGE ID       CREATED   SIZE
vsc-wslc-972f6c26efaf51ffd32c080b7aa2262ba775f35de768c2c972bb2f0676ed9719   latest   c5b04eb8860b   10 分前     3.36GB
dev_container_feature_content_temp                                          latest   e007196a165a   44 分前     158kB
node                                                                        26       a048161b3244   8 日前      1.25GB

コンテナ周りの設定については、composeが未対応なことによる影響箇所以外は、特に修正せずに起動することができました。

Cursorの対応状況

Cursorの Docker Path も確認してみましたが、そっちにはWSLcの記述はありませんでした。
※確認時の拡張機能バージョン:1.0.39

実際に動かして確認まではしていませんが、まだ対応してないようです。今後に期待です。

まとめ

WSLのバージョンアップにより、Rancher Desktopを使用しなくてもコンテナ環境が使用できるようになる、ということで今回試してみました。どのくらい設定を変更する必要があるんだろう?と当初思っていましたが、すんなり起動までいってくれた印象です。

今回は起動確認までで、今までと同じように問題なく使えるのか?は今後の確認になります。また、DockerコンテナからWSLコンテナに移行したことでメリットがあるのか?もわかっていません。それはドキュメントや今後使用していく中で確認し、もし何かあれば記事にしようと思います。

ただ、composeが未対応のため、複数コンテナを使う環境ではまだ移行は難しいようです。(対応に期待)

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。

運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。

当社は様々な職種でメンバーを募集しています。

「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 採用サイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

関連記事