You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
1.2 KiB
Docker

#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" >/etc/timezone
USER app
WORKDIR /app
EXPOSE 8080
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["Hadoop/ZKLT.Hadoop.API/ZKLT.Hadoop.API.csproj", "Hadoop/ZKLT.Hadoop.API/"]
COPY ["Hadoop/ZKLT.Hadoop/ZKLT.Hadoop.csproj", "Hadoop/ZKLT.Hadoop/"]
COPY ["Hadoop/ZKLT.Hadoop.Interface/ZKLT.Hadoop.Interface.csproj", "Hadoop/ZKLT.Hadoop.Interface/"]
COPY ["Hadoop/ZKLT.Hadoop.Model/ZKLT.Hadoop.Model.csproj", "Hadoop/ZKLT.Hadoop.Model/"]
RUN dotnet restore "./Hadoop/ZKLT.Hadoop.API/./ZKLT.Hadoop.API.csproj"
COPY . .
WORKDIR "/src/Hadoop/ZKLT.Hadoop.API"
RUN dotnet build "./ZKLT.Hadoop.API.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./ZKLT.Hadoop.API.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ZKLT.Hadoop.API.dll"]