diff --git a/Dockerfile b/Dockerfile index f9e7142..64ff9dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,25 @@ # Build stage -FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-preview AS build WORKDIR /src -# Install AOT prerequisites -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - clang \ - zlib1g-dev - -# Copy solution file +# Copy solution and project files COPY ["Nashel.sln", "./"] - -# Copy project files -COPY ["src/Host/Nashel.Host.csproj", "src/Host/"] -COPY ["src/BuildingBlocks/Nashel.BuildingBlocks.csproj", "src/BuildingBlocks/"] -COPY ["src/Modules/Catalog/Nashel.Modules.Catalog.csproj", "src/Modules/Catalog/"] -COPY ["src/Modules/Collaboration/Nashel.Modules.Collaboration.csproj", "src/Modules/Collaboration/"] -COPY ["src/Modules/Geo/Nashel.Modules.Geo.csproj", "src/Modules/Geo/"] -COPY ["src/Modules/Identity/Nashel.Modules.Identity.csproj", "src/Modules/Identity/"] -COPY ["src/Modules/Order/Nashel.Modules.Order.csproj", "src/Modules/Order/"] -COPY ["src/Modules/Reputation/Nashel.Modules.Reputation.csproj", "src/Modules/Reputation/"] +COPY ["src/", "src/"] # Restore dependencies RUN dotnet restore "Nashel.sln" -# Copy the rest of the source code -COPY . . +# Copy the rest of the source code (already copied in previous step fundamentally, but ensuring context) +# Actually, copying src/ covers it. -# Publish the application (AOT) +# Publish the application WORKDIR "/src/src/Host" -RUN dotnet publish "Nashel.Host.csproj" -c Release -r linux-x64 --self-contained true -o /app/publish +RUN dotnet publish "Nashel.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false # Final stage -FROM mcr.microsoft.com/dotnet/runtime-deps:10.0 AS final +FROM mcr.microsoft.com/dotnet/aspnet:10.0-preview AS final WORKDIR /app COPY --from=build /app/publish . ENV ASPNETCORE_URLS=http://+:8080 EXPOSE 8080 -ENTRYPOINT ["./Nashel.Host"] +ENTRYPOINT ["dotnet", "Nashel.Host.dll"]