ASP.NET Core MVC アプリケーションの Docker コンテナを Heroku で動かしてみた

以前、最小の ASP.NET Core アプリケーションの Docker コンテナを Heroku で動かせた。

ただ、ASP.NET Core MVC アプリケーションでは、Heroku 上で NuGet パッケージの復元を実行しようとしていて失敗。

NuGet パッケージの復元で失敗するのなら、復元の必要が無いように、発行したアプリから Docker イメージを作ってしまえばいいかもしれない。

再挑戦してみる。

Heroku CLI をインストール

新しい MacBook Pro に Heroku CLI が入ってなかったので、Homebrew でインストールする。

brew install heroku/brew/heroku

Heroku にログイン

heroku login
heroku container:login

ASP.NET Core MVC プロジェクトを作成

最小の ASP.NET Core MVC アプリケーションの Docker イメージを作りたいので、dotnet new コマンドで生成された雛形をそのまま使う。

mkdir HelloAspNetCore
cd HelloAspNetCore
dotnet new mvc

ASP.NET Core MVC プロジェクトを発行

dotnet publish -c Release

を実行すると、./bin/release/netcoreapp2.0/ 下に実行に必要なファイルがすべて出力される。

Docker ファイルを作成

ファイル一式が出力されたディレクトリに Docker ファイルを作成する。

cd ./bin/release/netcoreapp2.0/publish

ディレクトリの中身をコピーして、ASP.NET Core アプリケーションを起動する Docker ファイルを書く。 ポートは Heroku から環境変数で渡される値を使う。

FROM microsoft/aspnetcore

WORKDIR /app

COPY . .

CMD ASPNETCORE_URLS=http://*:$PORT dotnet HelloAspNetCore.dll

Docker イメージを作成

docker build -t <イメージ名> .

Docker イメージに Heroku 用のタグを設定

Heroku アプリは事前に作成しておいたものを使っておく。

docker tag <イメージ名> registry.heroku.com/<Heroku アプリ名>/web

Heroku にデプロイ

Heroku が用意したレジストリにプッシュすると、Heroku 上で実行される。

docker push registry.heroku.com/<Heroku アプリ名>/web

確認

Web ブラウザでアプリの URL にアクセスすると、今回はちゃんとおなじみのページを表示できた。

f:id:griefworker:20180114061917p:plain

ASP.NET Core MVC アプリケーションの Docker コンテナを Heroku で動かすのはこの方法で良さそうだ。次の課題は Heroku Postgres の利用だな。

bills 福岡

西中洲の SHIP'S GARDEN にある『bills 福岡』にようやく行くことができた。土曜日の13時過ぎに行ったら、すんなり席に座れたので、ブームはだいぶ落ち着いたみたいだ。

お目当は、世界一の朝食と称される bills のスクランブルエッグと、リコッタパンケーキ。 スクランブルエッグは素材を生かしたシンプルな味付け。塩胡椒を適度にかけていただく。リッチな気分に浸れる一皿だった。

リコッタパンケーキは非常にふわとろ。そしてボリュームもある。この量を自分一人で完食するのは難しい。 シェアにしておいてよかった。 ハニーコームバターが適度に上品な甘さで、たっぷり塗って食べたら美味いんだなこれが。 パンケーキの店と勘違いされるのも納得。現時点で、自分の中のパンケーキランキング1位。

全体的に値段が高めて、お会計はとてもランチとは思えない金額になったけど、それもまぁ仕方ないと思える味だった。 特にパンケーキは満足度高い。

bills 福岡

食べログ bills 福岡

鳳凛

一蘭が値上げにつぐ値上げで、1杯890円替玉190円という値段になったので、とうとう見切りをつけた。 ポスト一蘭として白羽の矢を立てたのは、福岡市中央区春吉にある『鳳凛』。 10年ぶりくらいに行ってみた。

この店は一蘭とルーツが同じらしい。 というか、むしろこちらが正統。 その本家本元の唐辛子入り『ラーメン(690円)』を注文。

スープは臭みが全くない、まろやかで飲みやすいとんこつ。和食を研究して生まれたらしい。どうりで、他のとんこつラーメンとは一線を画していると思った。中央に浮ぶタレを溶かすと、辛さと旨さ、あとほのかな甘さが広がっていって、さらに美味い。麺は細麺で、一蘭とは一番の違いかな。

一蘭総本店は外国人観光客ばっかりになってるけど、旅行に来る人たちの自国の物価と比べると、あの値段でもまだ普通と思うのかもしれない。自分は流石に無理。鳳凛はランチタイムの替玉が30円で、ラーメンとあわせて720円。一蘭と比べて圧倒的コスパ。個人的に、味は今のところ一蘭の上位互換なので、今後は鳳凛を贔屓しよう。

鳳凛

食べログ 鳳凛

支那そば やっちゃんち

福岡市中央区平尾にある『支那そば やっちゃんち』に行ってみた。ここは朝にラーメンを食べる朝ラーを提唱していて、朝7時から営業開始という、ちょっと変わったお店。

醤油にするか塩にするか、ギリギリまで迷ったけど、初めてなので醤油を選択。

朝ラーを提唱しているだけあり、スープはあっさりとしていて、ほっとするというか落ち着く。これは確かに朝でも余裕で食べられる。もちろん、呑みのシメでもイケる。麺は慶史のもので、中太のやや縮れ。弾力あるしスープにも良く絡むしで美味い。いろんな店で採用されるのもわかる。

具にお麩が入ってるのも変わっているが、それ以外は正統派の支那そばだった。今度は塩も食べに来たいと思う。

関連ランキング:ラーメン | 西鉄平尾駅

中華そば 寿限無

福岡市中央区高砂にある『中華そば 寿限無』に行ってみた。最近福岡市に非とんこつのラーメン店が増えているけど、この店もそう。

食べたのは中華そば。 製麺屋慶史の麺を使っているみたいで、 太めでコシがあり食べ応え充分。 スープは出汁が効いていて、 麺の主張に負けないくらい、 しっかりとした旨味だった。

古き良き中華そばといった感じで、 自分の理想の中華そばに近い。 醤油ラーメンや支那そばじゃなくて、中華そばというのがミソ。 福岡の非とんこつラーメンのレベルが急激に上がってきていて、喜ばしい限りだ。

『WEB+DB PRESS Vol.102』を読んだ

特集1「はじめてのペアプロ/モブプロ」

自意識過剰で視線が気になる性分なので、ペアプログラミングやモブプログラミングには消極的。 ただ、チームに新人が入ってきたときの教育でペアプログラミングを使うのはアリかも。

あと、ペアプログラミングは設計と実装とレビューを同時に行なっていると考えると、 2人で一つのコードを書いたとしても生産性が下がることはそれほど無さそうだ。

特集2「サービス改善ノウハウ大公開」

Backlog のリニューアルはまさにリニューアルあるある、といった感じ。 新しい UI を提供しても「前の方が良かった」と言うユーザーは必ず出てくる。 万人に好まれる UI というのは不可能に近い。 そんな中、真摯に対応していて好感が持てた。

日経電子版のリニューアルは非常に尖った内容で、 開発を内製化した賜物だと思う。

特集3「React Native実戦投入」

クロスプラットフォーム開発では Xamarin.Forms が自分のファーストチョイスだけど、 Web 開発者には確かに React Native が向いてそうに思った。 まぁ、どちらも茨の道なのだけど。

個人的には、Xamarin Native や Kotlin Native みたいに、C# や Kotlin 用にネイティブの薄いラッパーが提供されていて、 その上にクロスプラットフォーム開発用のフレームワークが構築されている方が良いと思ってる。 React Native だと JavaScript から Swift や Java(または Kotlin) にジャンプしないといけないわけで、 それはシンドイかもなぁ。

17周年記念エッセイ「あのときの決断」

決断ではなく判断で済むくらいに情報を十分に収集するというのは、 決断が苦手な自分に合うやり方だと思った。 それでも決断が 0 になることはないのだけど、 情報はあるに越したことはない。

WEB+DB PRESS Vol.102

WEB+DB PRESS Vol.102

地鶏らーめんはや川

会社帰りに、西鉄高宮駅そばにある『地鶏らーめんはや川』に行ってみた。福岡市営地下鉄沿線ではないので、定期券が使えず交通費がかかるが、どうしても行ってみたかった。

『地鶏醤油らーめん』と『鶏と豚のつけめん』のどちらにするかギリギリまで悩み、まずは店の看板である『地鶏醤油らーめん』を選択。

美しい見た目。 淡麗なスープは滋味溢れていて、 旨味がすごい。 低温調理された鶏と豚のチャーシューは、どちらも超柔らかくてジューシー。 麺は食感が良く、噛むと麺の味がしっかり広がる。 麺だけすすっても美味そう。 欠点が見当たらない。 賞賛の言葉しか出ない。 完成された一杯。

交通費余分に払って食べに来た価値があった。 醤油ラーメンでは自分の中でナンバーワン。 ラーメン全般でもナンバーワンかも。 近年食べたラーメンで一番衝撃だった。 ラーメンウォーカー2017の表紙を飾っていた店なので、期待値はかなり高かったが、それをさらに超えていった。 鶏と豚のつけめんも気になるので、休暇中にまた食べに行きたいくらいだ。