58 lines
1.1 KiB
Docker
Executable File
58 lines
1.1 KiB
Docker
Executable File
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"]
|
|
|