FROM microsoft/dotnet:2.0-sdk as builder RUN mkdir -p /root/src/app/aspnetcoreapp WORKDIR /root/src/app/aspnetcoreapp #copy just the project file over # this prevents additional extraneous restores # and allows us to resuse the intermediate layer # This only happens again if we change the csproj. # This means WAY faster builds! COPY aspnetcoreapp.csproj . #Because we have a custom one COPY nuget.config . RUN dotnet restore ./aspnetcoreapp.csproj COPY . . RUN dotnet publish -c release -o published -r linux-arm #Smaller - Best for apps with self-contained .NETs, as it doesn't include the runtime FROM microsoft/dotnet:2.0.0-runtime-deps-stretch-arm32v7 #Bigger - Best for apps .NETs that aren't self-contained. #FROM microsoft/dotnet:2.0.0-runtime-stretch-arm32v7 #FROM microsoft/dotnet:2.0.0-runtime-deps #FROM microsoft/dotnet:2.0.0-runtime WORKDIR /root/ COPY --from=builder /root/src/app/aspnetcoreapp/published . ENV ASPNETCORE_URLS=http://+:5000 EXPOSE 5000/tcp #CMD ["dotnet", "./aspnetcoreapp.dll"] CMD ["./aspnetcoreapp"]