2024-09-06 18:28:35 +02:00
# 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)
2024-12-01 19:28:46 +01:00
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
2024-09-06 18:28:35 +02:00
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
# This stage is used to build the service project
2024-12-01 19:28:46 +01:00
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
2024-09-06 18:28:35 +02:00
ARG BUILD_CONFIGURATION = Release
WORKDIR /src
COPY [ "Vegasco.Api/Vegasco.Api.csproj" , "Vegasco.Api/" ]
RUN dotnet restore "./Vegasco.Api/Vegasco.Api.csproj"
COPY . .
WORKDIR "/src/Vegasco.Api "
RUN dotnet build "./Vegasco.Api.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 "./Vegasco.Api.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" , "Vegasco.Api.dll" ]