FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS base # WORKDIR /app # ENV DOTNET_URLS=http://*:2000 #ENV ConnectionStrings__PostgreDB="Host=db;Database=ECommerce;Username=said;Password=aaa111!!!AAA;Port=5435;" ENV ASPNETCORE_ENVIRONMENT=Production FROM base AS build WORKDIR /src RUN dotnet tool install --global dotnet-ef --version 9.0.* ENV PATH="$PATH:/root/.dotnet/tools" COPY ./Core/ ./Core COPY ./Contracts/ ./Contracts COPY ./Domain/ ./Domain COPY ./ECommerce_API/ ./ECommerce_API RUN dotnet ef migrations script --startup-project ECommerce_API --project Domain -o sqlscript.sql WORKDIR /src/ECommerce_API RUN dotnet restore RUN dotnet build -c Release -o /build WORKDIR /src FROM build AS publish WORKDIR /src/ECommerce_API RUN dotnet publish -c Release -o /app/publish FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine3.21-amd64 AS runtime WORKDIR /app COPY --from=publish /app/publish . COPY --from=build /src/sqlscript.sql . # ENV PATH="$PATH:/root/.dotnet/tools" ENV ASPNETCORE_URLS=http://*:80 # COPY --from=publish /src/Core.Contracts/EmailTemplates/. ./EmailTemplates ENTRYPOINT ["dotnet", "ECommerce_API.dll"]