diff --git a/Dockerfile b/Dockerfile index 1fca072..6880cd5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,26 @@ -FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base +USER $APP_UID WORKDIR /app EXPOSE 8080 +EXPOSE 8081 FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +ARG BUILD_CONFIGURATION=Release WORKDIR /src +COPY ["src/YarpGateway/YarpGateway.csproj", "src/YarpGateway/"] +COPY ["src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Core/Fengling.ServiceDiscovery.Core.csproj", "src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Core/"] +COPY ["src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Kubernetes/Fengling.ServiceDiscovery.Kubernetes.csproj", "src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Kubernetes/"] +COPY ["src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Static/Fengling.ServiceDiscovery.Static.csproj", "src/Fengling.ServiceDiscovery/Fengling.ServiceDiscovery.Static/"] +RUN dotnet restore "src/YarpGateway/YarpGateway.csproj" COPY . . -RUN dotnet restore -RUN dotnet publish -c Release -o /app/publish +WORKDIR "/src/src/YarpGateway" +RUN dotnet build "./YarpGateway.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./YarpGateway.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app -COPY --from=build /app/publish . +COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "YarpGateway.dll"] diff --git a/YarpGateway.csproj b/YarpGateway.csproj index 1a9cef7..a8c1728 100644 --- a/YarpGateway.csproj +++ b/YarpGateway.csproj @@ -4,6 +4,7 @@ net10.0 enable enable + Linux @@ -26,4 +27,10 @@ + + + .dockerignore + + +