5のMVCアプリをDockerを使ってAzureで動かしてみるケンタテクブロ最近はAzure関係の記事です。5のMVCサンプルをAzureのDockerで動かしてみます。サンプルは下記のURLから確認してください。それでは、Dockerのイメージを作っていきましょう!下図のNOWINは、Kestrelを使わない時に使用していたものなので、本記事では関係ありません。ASP.NETのサンプルコードを取得するサンプルコードは普通にGitでcloneしてください。Imageを作成するためにDockerfileを下記のように作成します。ベースのイメージはマイクロソフト公式のmicrosoft/aspnetを使ってみました。"kestrel"]Dockerfileを作ったらBuildします。restoreするので、少し時間がかかります。AzureでDockerを使ってみるを参考にDockerを使える状態にしてから実行してください。aspnetsampleBuildして作成されたImageは確認することができます。Imageを実行してみるそれでは、DockerでASP.NETを実行してみます。コンテナ内のサーバはサンプルアプリのproject.jsonでTCPポート5004で動かすように設定されていたので、コンテナの外からはTCPポート8080で受け付けるようにしてみます。hellomvc30a655f76e1660596079bf87fe446df605f20a3da2b2b856f848bede14ca9eb8正常に実行されていることを確認するには、run実行後に作成されるコンテナのIDを使ってログを確認します。Startedと書かれていればサーバとしては正常に動作しています。Startedあと、注意しないといけないのがAzureのエンドポイント設定です。適切に設定していない場合は、エンドポイントの設定を変更して、インターネットからTCPポート80で受け付けるようにしておいてください。HTTPこれで、WebブラウザからでもMVCアプリを確認することができるようになります。停止するには動いているDockerコンテナは下記のようにDockerのpsコマンドで確認することができます。Dockerコンテナは、stopコマンドで停止させることができます。StudioのプロジェクトどDockerコンテナで利用する場合は、こちらの記事を参考にしてください。http://kentablog.cluscore.com/2015/01/visual-studio-2015-ctp-5aspnet-5docker.html今回の記事を書くにあたり、kestrelはLinuxで動かないと思っていたため、はじめはNOWINを使うようにNOWIN.vNextを使っていましたが、Linux実装されていることに気が付きました。LinkするようにKestrelのLinux実装がされていたんですね。MonoはDLL以外もリンクできるんだ。すごい!https://github.com/aspnet/KestrelHttpServer/blob/1fc591921b6ab00dda18f7d24cf7e549d4b1b308/src/Microsoft.AspNet.Server.Kestrel/KestrelEngine.csいやー面白い世の中になりましたねー。あ、来年開催されるGoAzure2015に是非参加してくださいね。以前、勝手に紹介した記事もありますので、ご参考にしていただければと。イベントをアプリケーション開発者視点で紹介してみる。