# Stage 1: Build Stage FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src # restore COPY ["src/ImmichToSlideshow/ImmichToSlideshow.csproj", "ImmichToSlideshow/"] RUN dotnet restore 'ImmichToSlideshow/ImmichToSlideshow.csproj' # build COPY ["src/ImmichToSlideshow", "ImmichToSlideshow/"] WORKDIR /src/ImmichToSlideshow RUN dotnet build 'ImmichToSlideshow.csproj' -c Release -o /app/build # Stage 2: Publish Stage FROM build AS publish RUN dotnet publish 'ImmichToSlideshow.csproj' -c Release -o /app/publish # Stage 3: Run Stage FROM mcr.microsoft.com/dotnet/aspnet:9.0 ENV ASPNETCORE_HTTP_PORTS=5001 EXPOSE 5001 WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT [ "dotnet", "ImmichToSlideshow.dll" ] # docker build -t sprint-console-001 . # docker images ls | grep -i 001 # docker run -p 5001:5001 --name sprint-console-api-001 sprint-console-001 # docker run -p 5001:5001 --name sprint-console-api-001 sprint-console-001