🗂
Jetbrain Riderで始めるASP.Net開発~セットアップ編~
前書き
自分でも手順を忘れないようにするための備忘録となります
概要
今回はプロジェクト作成からDockerでの起動までを行いたいと思います
プロジェクトの作成
フレームワークの選択
RiderのNewSolutionから「ASP.NETCore WebApplication」を選択します
※.NETFreamworkもあるので注意
Typeの選択
今回はAPIを選択する
DockerSupportの選択
今回はLinuxで選択する
コードの書きかえ
Dockerfileの書き換え
デフォルトではこのようになっている
デフォルトの状態ではDockerfileの書き方が間違えているため修正を行う
一部コメントで間違った部分の指摘を追加します
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["Proj/Proj.csproj", "Proj/"] //←Pathが間違っている
RUN dotnet restore "Proj/Proj.csproj" //← -r linux-arm64を追加しないと怒られる
COPY . . //↓のWORKDIRを実行した後に行う
WORKDIR "/src/Proj"
RUN dotnet build "Proj.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Proj.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Proj.dll"]
というわけで直したもの
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["Proj.csproj", "Proj/"]
RUN dotnet restore "Proj/Proj.csproj" -r linux-arm64
WORKDIR "/src/Proj"
COPY . .
RUN dotnet build "Proj.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Proj.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Proj.dll"]
コマンドの実行
まずコンテナの作成
docker build -t dotnetasp .\Proj\
コンテナの起動
docker run --rm -p 5000:80 dotnetasp
最後に動作確認
↓がデフォルトで定義されてるAPIとなります
続編
Discussion