.NETでDev Containerに入門してみた【初心者向け】

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは、サイオステクノロジーの佐藤 陽です。

半年間の育休から復帰後、1発目の記事になります。
ブログ書くスキルも訛ってる気がするので、またどんどん書いていきたいと思います!

育休から復帰したらチーム内でDev Containerが盛り上がっていたので、自分も乗っかってみました。

宣伝

サイオステクノロジーでDev Containerのイベントを実施します。
ぜひ是非ご参加ください!

VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜

はじめに

基本的には、チームメンバーが書いたブログをそのままなぞった体験記になります。
せっかくなのでメンバーがやっていない.NET環境でやってみます。

入門編にはなりますが、よければ最後までご覧ください

参考にした記事はこちら。

導入がカンタンで開発効率爆上げなVisual Studio Code拡張機能のご紹介

Nest.js『だけ』をdevcontainerで構築する:ゼロから始める環境構築

DevContainerでサクッと使える実行環境を用意しよう:Pythonを例に紹介

準備

準備したものは以下のものです。

Ubuntu 20.04WSL2上に構築
Docker 26.0.0こちらを参考にインストール
メンバーのブログではDockerDesktopを使ってましたが
本記事では自分でEngineをインストールしていきます
Visual Studio Code
Remote Developmentエクステンションhttps://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpac

Dev Containerを使ってみる

さっそくやっていきます。
まずはUbuntuからDockerをスタートさせておきます。

sudo service docker start

その後、VSCodeの[><(リモートウィンドウを開きます)]のマークから、[新しい開発コンテナー]を選択します。

するとテンプレートの選択が可能となるため、今回は「C#(.NET) and MS SQL」を選択します。

ここで、「その他のオプション」を選択します。

ここでは作成する環境の.NETのバージョンを指定することができます。

規定では8.0 – bookwormとなっていますが今回は、6.0 – bookwormに変更しました。
ローカルを汚さず、バージョン違いの環境をサクッと作成できるのは嬉しいですね。

追加する機能はないので、このままパスします。

するとコンテナの作成が始まります。
しばらくするとdotnet-mssqlという名前のコンテナが作成されました。

ディレクトリ構成としては以下のような形となっています。

ファイルの中身に関しては武井さんのブログなどでも紹介されているので割愛します。

導入がカンタンで開発効率爆上げなVisual Studio Code拡張機能のご紹介

また、この時.NETのバージョンも確認してみると
6.0のバージョンがインストールされていることも確認できました。

アプリを実行してみる

せっかくなのでこの環境でアプリを実行してみたいと思います。

dotnetコマンドを使って新規にプロジェクトを作成します。

dotnet new mvc -o devconmvc

実行します。
(管理者実行しないと権限不足でエラーが発生したので、取り急ぎsudoつけて対応しました。)

sudo dotnet run --project devconmvc.csproj

アクセスするとサンプルのアプリが起動していることが確認できました。
正しく環境が構築されてることがわかりますね。

MSSQLに接続してみる

今回作成したテンプレートが.NET+MSSQLのものだったので
せっかくなのでMSSQLにも接続してみます。

VSCodeの機能を使って接続します。
devcontainer.jsonに接続情報が書かれているので、これを使ってみます。

無事接続できることを確認できました。

これでアプリからでも問題なく接続できそうですね。

まとめ

Dev Containerのテンプレートを利用してさくっと.NET環境を構築してみました。

今回はテンプレートをもとに新規作成しただけですが、
devcontainer.jsonやcomposeファイル、Dockerfileなどを自分たちの環境に合わせてカスタマイズしていくことで、より実務で重宝する機能になっていくのだろうなと思います。

今回は入門しただけなので、またどんどん使ってみて記事にしていきたいと思います。
ではまた!

アバター画像
About 佐藤 陽 52 Articles
ロードバイクやトレランなど、走ることが好きなサーバーサイドエンジニア。組み込み系からWeb系へとジョブチェンジし、現在はAzureを使ったWebアプリの開発や、DevOpsの構築を行っています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる