FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src/api # Copy the project file and restore first to leverage Docker layer caching COPY api.csproj ./ RUN dotnet restore api.csproj # Copy only the api project files to avoid bringing other projects into the build context COPY . ./ RUN dotnet publish api.csproj -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final WORKDIR /app EXPOSE 8080 ENV ASPNETCORE_URLS=http://0.0.0.0:8080 COPY --from=build /app/publish . ENTRYPOINT ["dotnet", "api.dll"]