# Stage 1: Build Stage FROM mcr.microsoft.com/dotnet/sdk:8.0 AS Build WORKDIR /src # restore COPY ["src/Sprint-Console/Sprint-Console.csproj", "Sprint-Console/"] RUN dotnet restore 'Sprint-Console/Sprint-Console.csproj' # build COPY ["src/Sprint-Console", "Sprint-Console/"] WORKDIR /src/Sprint-Console RUN dotnet build 'Sprint-Console.csproj' -c Release -o /app/build # Stage 2: Publish Stage FROM build AS publish RUN dotnet publish 'Sprint-Console.csproj' -c Release -o /app/publish # Stage 3: Run Stage FROM mcr.microsoft.com/dotnet/aspnet:8.0 ENV ASPNETCORE_HTTP_PORTS=5001 EXPOSE 5001 WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT [ "dotnet", "Sprint-Console.dll" ] # docker build -t sprint-console-001 . # docker images ls | grep -i 001 # docker run -p 5001:5001 --name sprint-console-api-001 sprint-console-001 # docker run -p 5001:5001 --name sprint-console-api-001 sprint-console-001