FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src COPY src/*.sln ./ COPY src/*/*.csproj ./ RUN for file in *.csproj; do mkdir -p "${file%.*}" && mv "$file" "${file%.*}/"; done RUN dotnet restore COPY src/ ./ ARG PROJECT_NAME=CMSMicroservice.WebApi RUN dotnet publish "${PROJECT_NAME}/${PROJECT_NAME}.csproj" -c Release -o /app/publish --no-restore FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime WORKDIR /app COPY --from=build /app/publish . ENV ASPNETCORE_URLS=http://+:8080 EXPOSE 8080 ENTRYPOINT ["dotnet", "CMSMicroservice.WebApi.dll"]