diff --git a/src/InterfaceForward.Api/Dockerfile b/src/InterfaceForward.Api/Dockerfile index 6c9c83a..de487af 100644 --- a/src/InterfaceForward.Api/Dockerfile +++ b/src/InterfaceForward.Api/Dockerfile @@ -1,19 +1,17 @@ -# 使用 SDK 镜像进行构建 -FROM mcr.microsoft.com/dotnet/sdk:8.0.303 AS build +FROM mcr.microsoft.com/dotnet/sdk:8.0.303 AS base ARG BUILD_CONFIGURATION=Release WORKDIR /src - -# 仅复制必要的文件 -COPY src/InterfaceForward.Api/InterfaceForward.Api.csproj src/InterfaceForward.Api/ +COPY . /src RUN dotnet restore "src/InterfaceForward.Api/InterfaceForward.Api.csproj" - -# 复制其余文件并进行构建 -COPY . . WORKDIR "/src/src/InterfaceForward.Api" +RUN dotnet build "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM base AS publish +ARG BUILD_CONFIGURATION=Release RUN dotnet publish "InterfaceForward.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false # 使用运行时镜像 FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime WORKDIR /app -COPY --from=build /app/publish . +COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "InterfaceForward.Api.dll"] \ No newline at end of file