yo aspnet
で作成したプロジェクトには Dockerfile が含まれているので、
ASP.NET Core アプリケーションを Docker で動かすこともできる。
ただ、2016/07/25 時点では Dockerfile に手直しが必要。
そのままだと docker build
でコケる。
といっても apt-get
に -y
オプションを追加するだけだけど。
修正した Dockerfile がこちら。
FROM microsoft/dotnet:latest
RUN apt-get update && apt-get install -y sqlite3 libsqlite3-dev
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
RUN ["dotnet", "ef", "database", "update"]
EXPOSE 5000/tcp
ENTRYPOINT ["dotnet", "run", "--server.urls", "http://0.0.0.0:5000"]
Docker は Docker for Mac をインストールして使う。
純正の仮想環境 xhyve を使うので VirtualBox 不要なのが嬉しい。
docs.docker.com
Dockerfile が置いてある場所で
$ docker build -t tnakamura/helloaspnetcore:1.0 .
を実行しイメージを作成。
$ docker run -it -p 5000:5000 --name helloaspnetcore tnakamura/helloaspnetcore:1.0
を実行するとコンテナが立ち上がる。
Safari で localhost:5000
にアクセスすると
ASP.NET Core MVC おなじみの画面がちゃんと表示された。