「ASP.NET 5」が動くDockerコンテナを作る

基本的な手順はここを参考にする。

Running ASP.NET 5 applications in Linux Containers with Docker - .NET Web Development and Tools Blog - Site Home - MSDN Blogs


ASP.NET 5のサンプルコードを落としてくる。
ちなみに、本文中のGithubのサンプルでも良いが、本家の物でも良い。

本家
aspnet/Home · GitHub

$git clone https://github.com/aspnet/Home.git aspnet-home

samplesのHelloWebの中にcdしてDockerfileを作成する。
Dockerfileの中身がブログの本文とか異なるので、コメントに書いてあった物を利用する。

FROM microsoft/aspnet

COPY . /app
WORKDIR /app

RUN ["dnu", "restore"]

EXPOSE 5004

ENTRYPOINT ["dnx", "project.json", "kestrel"]

以下のコマンドでDockerのイメージを作成。

$docker build -t myapp .

イメージが出来たらDocker起動。

$docker run -t -d -p 80:5004 myapp

dockerのhostOSのアドレスにポート80でアクセスして、青い画面が見えたらOK。

作ったdockerコンテナにログインする(bashを起動する)するには以下のコマンドを実行

$docker exec -i -t <<コンテナ名 or ID>> bash