FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src # copy csproj and restore as distinct layers COPY Sledgemapper.Api/*.csproj ./Sledgemapper.Api/ COPY Sledgemapper.Shared/*.csproj ./Sledgemapper.Shared/ WORKDIR /src/Sledgemapper.Api RUN dotnet restore WORKDIR /src/Sledgemapper.Shared RUN dotnet restore WORKDIR /src/Sledgemapper # RUN dotnet restore # copy everything else and build app WORKDIR /src COPY Sledgemapper.Api/. ./Sledgemapper.Api/ COPY Sledgemapper.Shared/. ./Sledgemapper.Shared/ WORKDIR /src/Sledgemapper.Api RUN dotnet publish -c release -o /app --no-restore # final stage/image FROM mcr.microsoft.com/dotnet/aspnet:5.0 WORKDIR /app COPY --from=build /app ./ ENTRYPOINT ["dotnet", "Sledgemapper.Api.dll"]