I've been moving through .Net Core and working with docker to deploy some real applications. As I've done this I've been collecting different versions of the docker file.
.Net Core 3.0 is still in preview as I write this post so this might change, I'll be updating this post as it does and as I find changes.
My version of .net core 3.0 is currently running 3.0.0-preview-19075-0444
FROM microsoft/dotnet:3.0.100-preview2-sdk-alpine3.8 AS build WORKDIR /app # copy csproj and restore as distinct layers COPY *.sln . COPY Serversncodenetcore3.0_docker/*.*.csproj ./Serversncodenetcore3.0_docker/ RUN dotnet restore # copy everything else and build app COPY Serversncodenetcore3.0_docker/. ./Serversncodenetcore3.0_docker/ WORKDIR /app/Serversncodenetcore3.0_docker RUN dotnet publish -c Release -o out FROM microsoft/dotnet:3.0.0-preview2-aspnetcore-runtime-alpine3.8 AS runtime WORKDIR /app COPY --from=build /app/Serversncodenetcore3.0_docker/out ./ ENTRYPOINT ["dotnet", "Serversncodenetcore3.0_docker.dll"]
For this I used 3.0.100-preview2-sdk-alpine3.8 as my build image
FROM microsoft/dotnet:3.0.100-preview2-sdk-alpine3.8 AS build
For runtime I used 3.0.0-preview2-aspnetcore-runtime-alpine3.8
FROM microsoft/dotnet:3.0.0-preview2-aspnetcore-runtime-alpine3.8 AS runtime