FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 5002

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone

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

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

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