はじめに
背景
ASP.NET Core の環境構築をしてみようと思ったのですが、スタンダードな開発環境は Visual Studio を使うことらしいです。ですが、商標利用は有償なので代替方法を探してみました。見つかったのは VScode の Dev Containers を使う方法でしたが、Windows に Docker がインストールされている必要がありそうです。 Docker Desktop も商標利用は有償なので代替え方法を探してみました。
概要
VS code の Dev Containers を使うという方向は維持しつつ、使用する Docker を WSL2 上の Ubuntu-24.04 にインストールした Docker Engine を使う方法について解説します。
TLDR
WSL2 の Ubuntu-24.04 に Docker Engine をインストールした状態で、VScode の設定から、Dev > Container: Execute In WSLをオンにする。
環境
各種バージョンは以下です
- Windows 11 Pro 25H2
- VSCode 1.112.0
- Dev Containers 0.447.0
- WSL 2.6.3.0
- Ubuntu 24.04.4 LTS
- Docker 29.3.0
前準備
- VScode をインストールする
- VScode に拡張機能 Dev Containers をインストールする
- WSL2 をインストールする
- WSL上に任意のLinuxディストリビューションをインストールする
- インストールしたLinux環境に Docker Engineをインストールする
- ユーザーを Docker グループに追加しておく
手順
VScode の設定から WSL と検索すると、Dev > Container: Execute In WSLという項目が見つかるはずなのでオンにします。
もし WSL 上に複数のディストリビューションをインストールしている場合はDev > Container: Execute In WSL Distroに Docker がインストールされているディストリビューション名を入力します。ディストリビューション名は以下のコマンドで取得できます。
$ wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-24.04 (既定値)
VScode の左下の><をクリックして出てくるメニューから、New Dev Containerを選択します。
.NET と検索して、任意の環境を選択します。今回はC#(.NET) and MS SQLにしてみます。
作成する環境に任意の名前を付けることができます。今回はデフォルトで入ってる名前をそのまま使います。名前を決めたら Create Dev Container をクリックします。
しばらくすると、ウィンドウが開きます。左下の表示が自分の選んだ環境なことを確認できます。
ちなみに、WSL でディストリビューションにアクセスして Docker ps すると、コンテナできてることが確認できます。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cd764538b285 dotnet-mssql_devcontainer-app "/bin/sh -c 'echo Co…" 5 minutes ago Up 5 minutes dotnet-mssql_devcontainer-app-1
c65b914e2973 mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 5 minutes ago Up 5 minutes 1433/tcp dotnet-mssql_devcontainer-db-1
終わりに
ASP.NET Core 個人開発だったら大人しく Visual Studio 使うのがいい気がしますね。ですが、 Dev Containers の便利さもわかった気がします。




