Blazor(C#)をDockerで動かす
フロントからサーバーまで一貫してC#でかけるのが魅力.
ここではDockerでBlazorアプリを開発する環境を作る.
1. テンプレートの生成
Blazorアプリのテンプレートを生成しておく.プロジェクト名はとりあえずBlazorAppで.
code: bash
dotnet new -i Microsoft.AspNetCore.Blazor.Templates
dotnet new blazorhosted -n BlazorApp
cd ./BlazorApp
2. Dockerfile
次のようなDockerfileを設置.
ENTRYPOINTで指定する実行ファイルのパスは[プロジェクト名].Server/out/[プロジェクト名].Server.dll.
code: BlazorApp/Dockerfile
FROM microsoft/dotnet:2.1-sdk-alpine
WORKDIR /app
COPY . ./
RUN dotnet restore
RUN dotnet publish -c Release -o out
EXPOSE 80
3. ビルド&実行
code: bash
docker build -t blazorapp .
docker run -d -p80:80 blazorapp
4. 確認
ブラウザでhttp://localhostにアクセスしてBlazorアプリが表示されればOK.