diff --git a/Dockerfile b/Dockerfile index faa657a..28e6c17 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,15 @@ +# STAGE 1: Build (Uses the heavy SDK) FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -WORKDIR . +WORKDIR /src +# Copy everything from the solution folder COPY . . -RUN ls . -RUN ls ./SampleApi -RUN dotnet publish "SampleApi/SampleApi.csproj" -c Release -o /app/publish +# Publish specifically the project from its subfolder +RUN [dotnet publish](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-publish) "SampleApi/SampleApi.csproj" -c Release -o /app/publish - -# Stage 2: Run the app using the Runtime -FROM ://mcr.microsoft.com +# STAGE 2: Runtime (Uses the slim ASP.NET image) +FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /app -# Copy the compiled files from the 'build' stage to this stage +# Copy ONLY the compiled binaries from the build stage COPY --from=build /app/publish . +# The DLL is now in the root of /app, so no folder prefix is needed ENTRYPOINT ["dotnet", "SampleApi.dll"]