26 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.1 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.
 | 
						|
 | 
						|
# This stage is used when running from VS in fast mode (Default for Debug configuration)
 | 
						|
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
 | 
						|
USER $APP_UID
 | 
						|
WORKDIR /app
 | 
						|
 | 
						|
# This stage is used to build the service project
 | 
						|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
 | 
						|
ARG BUILD_CONFIGURATION=Release
 | 
						|
WORKDIR /src
 | 
						|
COPY ["RuleEngine.csproj", "./"]
 | 
						|
RUN dotnet restore "./RuleEngine.csproj"
 | 
						|
COPY . .
 | 
						|
RUN dotnet build "./RuleEngine.csproj" -c $BUILD_CONFIGURATION -o /app/build
 | 
						|
 | 
						|
# This stage is used to publish the service project to be copied to the final stage
 | 
						|
FROM build AS publish
 | 
						|
ARG BUILD_CONFIGURATION=Release
 | 
						|
RUN dotnet publish "./RuleEngine.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
 | 
						|
 | 
						|
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
 | 
						|
FROM base AS final
 | 
						|
WORKDIR /app
 | 
						|
COPY --from=publish /app/publish .
 | 
						|
ENTRYPOINT ["dotnet", "RuleEngine.dll"] |