#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-1803 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.2-sdk-nanoserver-1803 AS build
WORKDIR /src
COPY ["TakeStock.Web/TakeStock.Web.csproj", "TakeStock.Web/"]
COPY ["Service/Service.csproj", "Service/"]
COPY ["IService/IService.csproj", "IService/"]
COPY ["Domain/Domain.csproj", "Domain/"]
COPY ["MessageQueue/MessageQueue.csproj", "MessageQueue/"]
COPY ["TakeStock.SqlSugar/TakeStock.SqlSugar.csproj", "TakeStock.SqlSugar/"]
RUN dotnet restore "TakeStock.Web/TakeStock.Web.csproj"
COPY . .
WORKDIR "/src/TakeStock.Web"
RUN dotnet build "TakeStock.Web.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "TakeStock.Web.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "TakeStock.Web.dll"]