こんにちは、サイオステクノロジーの佐藤 陽です。
半年間の育休から復帰後、1発目の記事になります。
ブログ書くスキルも訛ってる気がするので、またどんどん書いていきたいと思います!
育休から復帰したらチーム内でDev Containerが盛り上がっていたので、自分も乗っかってみました。
宣伝
サイオステクノロジーでDev Containerのイベントを実施します。
ぜひ是非ご参加ください!
VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
はじめに
基本的には、チームメンバーが書いたブログをそのままなぞった体験記になります。
せっかくなのでメンバーがやっていない.NET環境でやってみます。
入門編にはなりますが、よければ最後までご覧ください
参考にした記事はこちら。
準備
準備したものは以下のものです。
Ubuntu 20.04 | WSL2上に構築 |
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という名前のコンテナが作成されました。
ディレクトリ構成としては以下のような形となっています。
ファイルの中身に関しては武井さんのブログなどでも紹介されているので割愛します。
また、この時.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などを自分たちの環境に合わせてカスタマイズしていくことで、より実務で重宝する機能になっていくのだろうなと思います。
今回は入門しただけなので、またどんどん使ってみて記事にしていきたいと思います。
ではまた!