2024-08-17 16:38:40 +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.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
2024-08-24 13:50:03 +02:00
RUN apt-get update && apt-get install -y curl
2024-08-24 14:24:18 +02:00
USER app
2024-08-17 16:38:40 +02:00
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION = Release
WORKDIR /src
2024-08-24 12:46:27 +02:00
COPY [ "src/WebApi/WebApi.csproj" , "src/WebApi/" ]
2024-08-17 16:38:40 +02:00
RUN dotnet restore "./src/WebApi/WebApi.csproj"
2024-08-24 12:46:27 +02:00
COPY . .
2024-08-17 16:38:40 +02:00
WORKDIR "/src/src/WebApi "
RUN dotnet build "./WebApi.csproj" -c $BUILD_CONFIGURATION -o /app/build
2024-08-17 16:38:40 +02:00
FROM build AS publish
ARG BUILD_CONFIGURATION = Release
2024-08-17 16:38:40 +02:00
RUN dotnet publish "./WebApi.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost= false
2024-08-17 16:38:40 +02:00
FROM base AS final
WORKDIR /app
COPY --from= publish /app/publish .
2024-08-24 13:50:03 +02:00
HEALTHCHECK --interval= 20s --timeout= 1s --start-period= 10s --retries= 3 CMD curl --fail http://localhost:8080/health || exit 1
2024-08-17 16:38:40 +02:00
ENTRYPOINT [ "dotnet" , "WebApi.dll" ]