0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2のDockerを使ってVScodeのDev Containerを作成する

0
Posted at

はじめに

背景

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

前準備

  1. VScode をインストールする
  2. VScode に拡張機能 Dev Containers をインストールする
  3. WSL2 をインストールする
  4. WSL上に任意のLinuxディストリビューションをインストールする
  5. インストールしたLinux環境に Docker Engineをインストールする
  6. ユーザーを Docker グループに追加しておく

手順

VScode の設定から WSL と検索すると、Dev > Container: Execute In WSLという項目が見つかるはずなのでオンにします。

image.png

もし WSL 上に複数のディストリビューションをインストールしている場合はDev > Container: Execute In WSL Distroに Docker がインストールされているディストリビューション名を入力します。ディストリビューション名は以下のコマンドで取得できます。

$ wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-24.04 (既定値)

VScode の左下の><をクリックして出てくるメニューから、New Dev Containerを選択します。

image.png

.NET と検索して、任意の環境を選択します。今回はC#(.NET) and MS SQLにしてみます。

image.png

作成する環境に任意の名前を付けることができます。今回はデフォルトで入ってる名前をそのまま使います。名前を決めたら Create Dev Container をクリックします。

image.png

しばらくすると、ウィンドウが開きます。左下の表示が自分の選んだ環境なことを確認できます。

image.png

ちなみに、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 の便利さもわかった気がします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?