# https://hub.docker.com/_/microsoft-dotnet-core FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /installer COPY ./dotnet-install.sh ./dotnet-install.sh RUN chmod +x dotnet-install.sh RUN ./dotnet-install.sh --channel 3.1 # # Install .NET CLI dependencies # RUN apt-get update \ # && apt-get install -y --no-install-recommends \ # libc6 \ # libgcc1 \ # libgssapi-krb5-2 \ # libicu60 \ # libssl1.1 \ # libstdc++6 \ # zlib1g \ # && rm -rf /var/lib/apt/lists/* # # Install .NET Core SDK # RUN dotnet_sdk_version=3.1.404 \ # && curl -SL --output dotnet.tar.gz https://dotnetcli.azureedge.net/dotnet/Sdk/$dotnet_sdk_version/dotnet-sdk-$dotnet_sdk_version-linux-x64.tar.gz \ # && dotnet_sha512='94d8eca3b4e2e6c36135794330ab196c621aee8392c2545a19a991222e804027f300d8efd152e9e4893c4c610d6be8eef195e30e6f6675285755df1ea49d3605' \ # && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ # && mkdir -p /usr/share/dotnet \ # && tar -ozxf dotnet.tar.gz -C /usr/share/dotnet \ # && rm dotnet.tar.gz \ # && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \ # # Trigger first run experience by running arbitrary cmd # && dotnet help WORKDIR /src # copy csproj and restore as distinct layers #COPY *.sln . # COPY SignalRChat/*.csproj ./aspnetapp/ # WORKDIR /source/aspnetapp # RUN dotnet restore 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 # 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", "/app/Sledgemapper.Api.dll"] # # https://hub.docker.com/_/microsoft-dotnet-core # FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build # # copy csproj and restore as distinct layers # #COPY *.sln . # WORKDIR /source # COPY Sledgemapper.Api/*.csproj ./Sledgemapper.Api/ # WORKDIR /source/Sledgemapper.Api # RUN dotnet restore # WORKDIR /source # COPY Sledgemapper.Shared/*.csproj ./Sledgemapper.Shared/ # WORKDIR /source/Sledgemapper.Shared # RUN dotnet restore # # copy everything else and build app # WORKDIR /source # COPY Sledgemapper.Api/. ./Sledgemapper.Api/ # COPY Sledgemapper.Shared/. ./Sledgemapper.Shared/ # WORKDIR /source/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"]