オフィス狛 技術部のHammarです。
最近ASP.Netを主に触れているのですが、いつもテストサーバー(実際のWindowsServerのIIS上)で動作確認をしていました。が、いまさらながらローカル環境を作ってみようと思い、Dockerとwindows IISを利用して作ってみました。
基本的なプロジェクトの構成としてはローカルIISのwebサーバーとDockerの仮想DBとのデータのやり取りを実現するという内容になります。
ちなみに開発はweb画面からのアクセスではなくAPI開発で、下記のようにJSONでHTTPリクエストを行うという流れで今回やりました。
■環境
webサーバー:windows 10 IISDB:SqlServer(Docker)
■ローカル(winsows10)のIISを有効化する
まずはローカルのIISを有効化されているか確認する必要があります。有効化されていない場合は下記手順で有効化します。
- ①コントロールパネルを開く
- ②プログラムを選択する
- ③「プログラムと機能」のWindowsの機能の有効化または無効化を選択
- ④「Windowsの機能」の一覧のインターネットインフォメーションサービスにチェックを入れてOKを選択
- ⑤デスクトップ左下のWindowsボタンを右クリック⇒コンピュータの管理を選択選択
- ⑥サービスとアプリケーションに「IISマネージャー」があることを確認する
- ⑦ブラウザにhttp://localhost/ とURLを入力し、Enterを押すと以下画面が見れる
■DockerでローカルDB環境を作る
※Dockerが既にインストールされていることが前提となりますまずはdockerを起動しておきます。
$ docker-machine start
次にdocker-compose.ymlファイルを作成し、使うDBの内容を記載します。
今回はSqlServerを使って開発したいので、下記のような記載になります。
・docker-compose.yml
version: '3' services: db: environment: - MSSQL_SA_PASSWORD=password - ACCEPT_EULA=Y - MSSQL_PID=Developer image: microsoft/mssql-server-linux:2017-latest ports: - "1433:1433" volumes: - ./mssql/:/c/var/opt/mssql/
あとは、このdocker-compose.ymlファイルがあるディレクトリで
$ docker-compose up -d
で仮想ローカルDBを作成します。あとはSSMS等のツールを利用し、テーブル作成等細かな設定を行います。
■IISのルートディレクトリにビルドしたファイルを設置する
visual studioでビルドしたファイルを下記IISのルートディレクトリに設置します。C:\inetpub\wwwroot
■IISのサイトを作成する
デスクトップ左下のWindowsボタンを右クリック⇒コンピュータの管理を選択しサービスとアプリケーションの「IISマネージャー」を選択します。
※サイトの作成方法についてはいろいろなサイトで説明があるのでここでは割愛します。
■IISサイトのサービスを開始する
サイトの「Default Web Site」で右クリック→「Webサイトの管理」→「開始」をクリックしてサイトを起動します。あとは、作成したサイトにPOSTMAN等のツールを利用して、HTTPリクエストを投げて、正常にHTTPレスポンスが返ってくればローカル環境完成となります。
細かな部分は省いたのでかなりざっくりとした記載になってしまいましたが、ローカルIISのwebサーバーとDockerの仮想DBでローカル環境作る場合に参考になればと思います。
ASP.net , SQL Server
0 件のコメント:
コメントを投稿