WSL2にDocker CEをインストールして .NET開発環境を作成する

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回はWSL2にDocker CEをインストールして .NET開発環境を作成する方法ついてお届けします。

本記事ではWSL2にインストールしたDocker CEと、Visual Studio Codeの拡張機能「Remote Development」に含まれる「Dev Containers」を使用して、.NET開発環境をコンテナで作成する方法を試してみます。

前提条件

事前にローカル環境の準備をしておきます。以下のようにWindows OSとWSL2、Visual Studio Codeをインストールしておきます。

Docker CEをインストール

Dockerの公式サイトでは、Docker CEをUbuntuへインストールする方法が紹介されています。

こちらの「Install using the apt repository」の手順でUbuntuにDocker CEをインストールします。

一般ユーザーでもdockerを使えるように権限を付与する

root以外のユーザーがdockerコマンドを使用できるように設定しておきます。こちらもDockerの公式サイトの「Manage Docker as a non-root user」で設定方法が紹介されています。

これでsudoが不要でdockerコマンドを使用できるようになります。

システムの起動時にDockerを起動するように設定する

こちらもDockerの公式サイトの「Configure Docker to start on boot with systemd」で設定方法が紹介されています。

これでUbuntuが起動した際にDockerも自動的に起動するようになります。

動作確認

Ubuntuを再起動してから、一般ユーザーでservice docker statusを実行してDockerが起動しているかを確認します。

Dockerのサービスを確認

次にHello Worldイメージを実行します。以下のように「Hello from Docker!」が表示されていれば成功です。

Dockerの公式イメージを起動

Dev Containersを設定する

Visual Studio Codeでコマンドパレットから「WSLへの接続」を選択してUbuntuに接続します。

WSLへの接続

Ubuntuの任意のフォルダを指定して開きます。ここでは/homeにあるユーザーのホームディレクトリを設定します。

WSLへの接続

Dev Containersの構成ファイルを追加します。コマンドパレットから「開発コンテナー構成ファイルの追加」を選択して、事前に用意されているC#用の構成ファイルを追加します。.NETのバージョンは7.0、その他の機能追加はナシとして追加します。

Dev Containersの構成ファイルを追加
Dev Containersの構成ファイルを追加

.devcontainerフォルダが作成され、その配下にあるdevcontainer.jsonが表示されます。右下に表示される通知から「コンテナーで再度開く」をクリックします。

Dev Containersの構成ファイルを追加

これでDev Containersで .NET(C#)開発環境が使えるようになります。ターミナルでdotnet --versionを実行すると、以下のようにコンテナにインストールされている .NETのバージョンが表示されます。

Dev Containersの構成ファイルを追加

確認してみる

ターミナルからdotnet new console -o HelloWorldを実行してコンソールアプリケーションを作成します。

コンソールアプリケーションを作成

ターミナルからcode -r HelloWorldを入力してHelloWorldフォルダを開きます。右下に表示される通知から「Yes」をクリックします。.vscodeフォルダの配下にデバッグやビルドに必要なtasks.jsonlaunch.jsonが追加されます。

コンソールアプリケーションを作成
コンソールアプリケーションを作成

F5をクリックして作成したコンソールアプリケーションをデバッグ実行します。以下のように「Hello, World!」が表示されていれば成功です。

コンソールアプリケーションを作成

さいごに

今回はWSL2とDocker CE、そしてDev Containersを使用して .NET開発環境を作成する方法を試してみました。.NETのバージョンごとにDev Containersの構成ファイルを用意すれば特定のバージョンでの開発やテストなど、いろいろな条件を指定して利用することができそうです。また、開発環境を利用するまでの手間が多少かかってしまいますが、Docker Desktopをインストールする必要がないのでライセンスの心配をする必要がないのはメリットといえそうです。

\  この記事をシェアする  /