dotnet / announcements

Subscribe to this repo to be notified of Announcements and changes in .NET Core.
Creative Commons Attribution 4.0 International
1.29k stars 44 forks source link

Improving Performance of ARM32 Docker Images with .NET Core Package Cache #80

Closed richlander closed 6 years ago

richlander commented 6 years ago

Improving Performance of ARM32 Docker Images with .NET Core Package Cache

.NET Core SDK distributions include a compressed copy of NuGet packages for .NET Core, ASP.NET Core and EF Core. These packages are decompressed upon installation of the .NET Core SDK. The packages are not currently included in ARM32 distributions due to the time and space cost to decompress the packages. Instead, they will be added to .NET Core ARM32 Docker images, where these costs can be paid as part of image creation.

These NuGet packages include content for two purposes:

In both cases, the presence of these packages avoid the need to access remote NuGet feeds for .NET Core assemblies as part of package restore.

This change only affects .NET Core 2.1 SDK ARM32 Docker images. This change will be made in August 2018.

Discussion

Please share your thoughts on this change and see what others are saying at:

.NET Core SDK NugetFallbackFolder

The .NET Core SDK includes a compressed copy of all NuGet package, in LZMA format. It exists at the following version-specific location:

root@3778032bc43d:/# ls -l /usr/share/dotnet/sdk/2.1.302/*.lzma
-rw-r--r-- 1 1004 sudo 35995936 Jul  2 22:51 /usr/share/dotnet/sdk/2.1.302/nuGetPackagesArchive.lzma

This file is decompressed to the following location: /usr/share/dotnet/sdk/NuGetFallbackFolder/

A package restore for a .NET Core assembly will restore the assembly from the NuGetFallbackFolder location and copy it to the user NuGet cache. At that point, regular NuGet behavior is used.

Impact of this change

There should be no functional difference in behavior after this change. .NET SDK commands should complete faster and require fewer package restore network requests.

The following examples demonstrates the benefit of this change. The improvement can be observed with package restore. Build times (assuming no restore) are not affected.

.NET Core 2.1 SDK image after this change

The change has already been made in the microsoft/dotnet-nightly repo, as you can see in the example below. In August, this same change will be made available in the microsoft/dotnet repo.

pi@raspberrypi:~ $ docker run -it --rm microsoft/dotnet-nightly:2.1-sdk
root@416731f24915:/# time dotnet new mvc -o mvcapp
Getting ready...
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore-template-3pn-210 for details.

Processing post-creation actions...
Running 'dotnet restore' on mvcapp/mvcapp.csproj...
  Restoring packages for /mvcapp/mvcapp.csproj...
  Generating MSBuild file /mvcapp/obj/mvcapp.csproj.nuget.g.props.
  Generating MSBuild file /mvcapp/obj/mvcapp.csproj.nuget.g.targets.
  Restore completed in 6.68 sec for /mvcapp/mvcapp.csproj.

Restore succeeded.

real    0m32.496s
user    0m35.820s
sys     0m4.280s
root@416731f24915:/# cd mvcapp/
root@416731f24915:/mvcapp# time dotnet build
Microsoft (R) Build Engine version 15.8.138-preview+ge0cd4f1c1f for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 524.78 ms for /mvcapp/mvcapp.csproj.
/usr/share/dotnet/sdk/2.1.401-preview-009081/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(143,5): message NETSDK1057: You are working with a preview version of the .NET Core SDK. You can define the SDK version via a global.json file in the current project. More at https://go.microsoft.com/fwlink/?linkid=869452 [/mvcapp/mvcapp.csproj]
  mvcapp -> /mvcapp/bin/Debug/netcoreapp2.1/mvcapp.dll
  mvcapp -> /mvcapp/bin/Debug/netcoreapp2.1/mvcapp.Views.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:02:09.15

real    2m13.377s
user    1m25.260s
sys     0m9.420s
root@416731f24915:/mvcapp#

.NET Core 2.1 SDK image before this change

pi@raspberrypi:~ $ docker run -it --rm microsoft/dotnet:2.1-sdk
root@9d1d5e45df6a:/# time dotnet new mvc -o mvcapp
Getting ready...
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore-template-3pn-210 for details.

Processing post-creation actions...
Running 'dotnet restore' on mvcapp/mvcapp.csproj...
  Restoring packages for /mvcapp/mvcapp.csproj...
  Installing System.Xml.XmlSerializer 4.3.0.
  Installing System.Threading.Tasks.Extensions 4.0.0.
  Installing System.Globalization.Extensions 4.0.1.
  Installing runtime.native.System.Security.Cryptography 4.0.0.
  Installing System.Security.Cryptography.OpenSsl 4.0.0.
  Installing System.Security.Cryptography.Cng 4.2.0.
  Installing System.Security.Cryptography.Csp 4.0.0.
  Installing runtime.native.System.Net.Http 4.0.1.
  Installing runtime.native.System 4.0.0.
  Installing runtime.native.System.IO.Compression 4.1.0.
  Installing System.Buffers 4.0.0.
  Installing System.Private.DataContractSerialization 4.3.0.
  Installing System.Security.Principal 4.3.0.
  Installing runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple 4.3.0.
  Installing runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.NETCore.App 2.1.0.
  Installing runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.AspNetCore.App 2.1.1.
  Installing runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.NETCore.Platforms 2.1.0.
  Installing Microsoft.NETCore.Targets 2.1.0.
  Installing NETStandard.Library 2.0.3.
  Installing Microsoft.NETCore.DotNetHostPolicy 2.1.0.
  Installing Microsoft.AspNetCore 2.1.1.
  Installing Microsoft.AspNetCore.Antiforgery 2.1.1.
  Installing Microsoft.AspNetCore.Authentication 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Localization 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Session 2.1.1.
  Installing Microsoft.AspNetCore.SpaServices 2.1.1.
  Installing Microsoft.Extensions.Configuration.KeyPerFile 2.1.1.
  Installing Microsoft.Extensions.FileProviders.Abstractions 2.1.1.
  Installing Microsoft.Extensions.Hosting 2.1.1.
  Installing Microsoft.Extensions.FileProviders.Embedded 2.1.1.
  Installing Microsoft.Extensions.FileProviders.Physical 2.1.1.
  Installing Microsoft.Extensions.Localization 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.Cookies 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.Core 2.1.1.
  Installing runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.AspNetCore.Authentication.Google 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.Facebook 2.1.1.
  Installing Microsoft.Extensions.Hosting.Abstractions 2.1.1.
  Installing runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.AspNetCore.HttpsPolicy 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.MicrosoftAccount 2.1.1.
  Installing Microsoft.Extensions.Http 2.1.1.
  Installing Microsoft.AspNetCore.MiddlewareAnalysis 2.1.1.
  Installing Microsoft.Extensions.FileSystemGlobbing 2.1.1.
  Installing Microsoft.Extensions.DiagnosticAdapter 2.1.0.
  Installing Microsoft.Extensions.Identity.Core 2.1.1.
  Installing Microsoft.Extensions.Identity.Stores 2.1.1.
  Installing Microsoft.Extensions.Options.ConfigurationExtensions 2.1.1.
  Installing Microsoft.Extensions.Localization.Abstractions 2.1.1.
  Installing Microsoft.Extensions.Logging.Abstractions 2.1.1.
  Installing runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.Extensions.Options 2.1.1.
  Installing Microsoft.Extensions.FileProviders.Composite 2.1.1.
  Installing Microsoft.Extensions.Logging 2.1.1.
  Installing Microsoft.Extensions.Logging.Configuration 2.1.1.
  Installing Microsoft.Extensions.Logging.TraceSource 2.1.1.
  Installing Microsoft.Extensions.Configuration.UserSecrets 2.1.1.
  Installing Microsoft.Extensions.Logging.Debug 2.1.1.
  Installing Microsoft.Extensions.Logging.Console 2.1.1.
  Installing Microsoft.Extensions.DependencyInjection 2.1.1.
  Installing Microsoft.Extensions.ObjectPool 2.1.1.
  Installing runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
  Installing Microsoft.Extensions.Configuration.Binder 2.1.1.
  Installing runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing Microsoft.Extensions.Configuration.EnvironmentVariables 2.1.1.
  Installing Microsoft.Extensions.Configuration.FileExtensions 2.1.1.
  Installing Microsoft.Extensions.Configuration 2.1.1.
  Installing Microsoft.Extensions.Configuration.Abstractions 2.1.1.
  Installing Microsoft.Extensions.Caching.Memory 2.1.1.
  Installing Microsoft.Extensions.Configuration.CommandLine 2.1.1.
  Installing Microsoft.Extensions.Caching.Abstractions 2.1.1.
  Installing Microsoft.Net.Http.Headers 2.1.1.
  Installing Microsoft.EntityFrameworkCore.InMemory 2.1.1.
  Installing Microsoft.EntityFrameworkCore.Abstractions 2.1.1.
  Installing Microsoft.Extensions.Configuration.Ini 2.1.1.
  Installing Microsoft.EntityFrameworkCore.Analyzers 2.1.1.
  Installing Microsoft.AspNetCore.StaticFiles 2.1.1.
  Installing Microsoft.EntityFrameworkCore.Relational 2.1.1.
  Installing Microsoft.AspNetCore.Server.Kestrel.Https 2.1.1.
  Installing Microsoft.Extensions.Primitives 2.1.1.
  Installing Microsoft.AspNetCore.SpaServices.Extensions 2.1.1.
  Installing Microsoft.AspNetCore.Server.Kestrel 2.1.1.
  Installing Microsoft.Extensions.WebEncoders 2.1.1.
  Installing Microsoft.AspNetCore.WebUtilities 2.1.1.
  Installing Microsoft.AspNetCore.SignalR 1.0.1.
  Installing Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets 2.1.1.
  Installing Microsoft.AspNetCore.Routing 2.1.1.
  Installing Microsoft.EntityFrameworkCore.Tools 2.1.1.
  Installing Microsoft.AspNetCore.Routing.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Rewrite 2.1.1.
  Installing Microsoft.AspNetCore.ResponseCaching.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.ResponseCaching 2.1.1.
  Installing Microsoft.AspNetCore.ResponseCompression 2.1.1.
  Installing System.Globalization.Extensions 4.3.0.
  Installing Microsoft.AspNetCore.Razor.Language 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.TagHelpers 2.1.1.
  Installing Microsoft.AspNetCore.Razor.Runtime 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.RazorPages 2.1.1.
  Installing Microsoft.AspNetCore.Owin 2.1.1.
  Installing Microsoft.AspNetCore.Razor 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Razor.Extensions 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Razor.ViewCompilation 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Analyzers 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Localization 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Formatters.Json 2.1.1.
  Installing Microsoft.EntityFrameworkCore.Design 2.1.1.
  Installing Microsoft.AspNetCore.WebSockets 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Cors 2.1.1.
  Installing System.Diagnostics.DiagnosticSource 4.3.0.
  Installing Microsoft.AspNetCore.Mvc.DataAnnotations 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.ApiExplorer 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Formatters.Xml 2.1.1.
  Installing Microsoft.AspNetCore.Mvc 2.1.1.
  Installing Microsoft.Extensions.Logging.EventSource 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.OAuth 2.1.1.
  Installing Microsoft.Extensions.Configuration.Json 2.1.1.
  Installing Microsoft.AspNetCore.SignalR.Protocols.Json 1.0.1.
  Installing Microsoft.AspNetCore.NodeServices 2.1.1.
  Installing Microsoft.AspNetCore.SignalR.Common 1.0.1.
  Installing Microsoft.AspNetCore.JsonPatch 2.1.1.
  Installing Microsoft.AspNetCore.Localization.Routing 2.1.1.
  Installing Microsoft.AspNetCore.Server.IISIntegration 2.1.1.
  Installing Microsoft.AspNetCore.Identity.UI 2.1.1.
  Installing Microsoft.AspNetCore.Razor.Design 2.1.1.
  Installing Microsoft.AspNetCore.Identity.EntityFrameworkCore 2.1.1.
  Installing Microsoft.AspNetCore.Http.Extensions 2.1.1.
  Installing Microsoft.AspNetCore.HttpOverrides 2.1.1.
  Installing Microsoft.AspNetCore.Identity 2.1.1.
  Installing Microsoft.AspNetCore.Http.Features 2.1.1.
  Installing Microsoft.AspNetCore.Http.Connections 1.0.1.
  Installing Microsoft.AspNetCore.Http.Connections.Common 1.0.1.
  Installing Microsoft.AspNetCore.Http 2.1.1.
  Installing Microsoft.AspNetCore.Diagnostics.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Cors 2.1.1.
  Installing Microsoft.AspNetCore.Hosting.Server.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Http.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.DataProtection.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Hosting.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 2.1.1.
  Installing Microsoft.AspNetCore.Cryptography.Internal 2.1.1.
  Installing Microsoft.AspNetCore.Cryptography.KeyDerivation 2.1.1.
  Installing Microsoft.AspNetCore.DataProtection.Extensions 2.1.1.
  Installing Microsoft.AspNetCore.HostFiltering 2.1.1.
  Installing Microsoft.CSharp 4.0.1.
  Installing Microsoft.AspNetCore.CookiePolicy 2.1.1.
  Installing Microsoft.AspNetCore.Server.Kestrel.Core 2.1.1.
  Installing Microsoft.AspNetCore.Html.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.Twitter 2.1.1.
  Installing Microsoft.AspNetCore.Connections.Abstractions 2.1.1.
  Installing Microsoft.AspNetCore.Authorization.Policy 2.1.1.
  Installing Microsoft.AspNetCore.Authorization 2.1.1.
  Installing Microsoft.AspNetCore.Diagnostics 2.1.1.
  Installing Microsoft.AspNetCore.Server.HttpSys 2.1.1.
  Installing Microsoft.Extensions.Configuration.Xml 2.1.1.
  Installing Microsoft.AspNetCore.Hosting 2.1.1.
  Installing Microsoft.AspNetCore.DataProtection 2.1.1.
  Installing Microsoft.Extensions.Caching.SqlServer 2.1.1.
  Installing Microsoft.EntityFrameworkCore.SqlServer 2.1.1.
  Installing Microsoft.AspNet.WebApi.Client 5.2.6.
  Installing Microsoft.AspNetCore.SignalR.Core 1.0.1.
  Installing Microsoft.AspNetCore.Mvc.ViewFeatures 2.1.1.
  Installing Microsoft.CodeAnalysis.Razor 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.JwtBearer 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.OpenIdConnect 2.1.1.
  Installing Microsoft.AspNetCore.Mvc.Razor 2.1.1.
  Installing Microsoft.AspNetCore.Authentication.WsFederation 2.1.1.
  Installing Microsoft.EntityFrameworkCore 2.1.1.
  Installing System.Runtime.Serialization.Primitives 4.1.1.
  Installing Microsoft.AspNetCore.Mvc.Core 2.1.1.
  Installing System.Xml.ReaderWriter 4.0.11.
  Installing Microsoft.NETCore.DotNetHostResolver 2.1.0.
  Installing System.Diagnostics.DiagnosticSource 4.5.0.
  Installing System.ComponentModel.Annotations 4.5.0.
  Installing System.Buffers 4.5.0.
  Installing System.Memory 4.5.1.
  Installing System.Runtime.CompilerServices.Unsafe 4.5.1.
  Installing System.Text.Encodings.Web 4.5.0.
  Installing Microsoft.CSharp 4.5.0.
  Installing System.Net.WebSockets.WebSocketProtocol 4.5.1.
  Installing Newtonsoft.Json 11.0.2.
  Installing System.IO.Pipelines 4.5.0.
  Installing System.Numerics.Vectors 4.5.0.
  Installing System.Security.Principal.Windows 4.5.0.
  Installing System.Threading.Tasks.Extensions 4.5.1.
  Installing System.Security.Cryptography.Cng 4.5.0.
  Installing System.Net.Http 4.1.0.
  Installing System.Security.Cryptography.Xml 4.5.0.
  Installing Microsoft.Win32.Registry 4.5.0.
  Installing System.Reflection.Metadata 1.6.0.
  Installing System.Data.SqlClient 4.5.1.
  Installing Newtonsoft.Json.Bson 1.0.1.
  Installing Newtonsoft.Json 10.0.1.
  Installing System.Threading.Channels 4.5.0.
  Installing System.Reflection.Emit 4.3.0.
  Installing Microsoft.CodeAnalysis.CSharp 2.8.0.
  Installing Microsoft.CodeAnalysis.Common 2.8.0.
  Installing System.Security.Cryptography.Algorithms 4.2.0.
  Installing Microsoft.IdentityModel.Protocols.OpenIdConnect 5.2.0.
  Installing System.IdentityModel.Tokens.Jwt 5.2.0.
  Installing Microsoft.IdentityModel.Protocols.WsFederation 5.2.0.
  Installing System.Collections.Immutable 1.5.0.
  Installing Remotion.Linq 2.2.0.
  Installing System.Interactive.Async 3.1.1.
  Installing Microsoft.Extensions.DependencyModel 2.1.0.
  Installing Microsoft.NETCore.DotNetAppHost 2.1.0.
  Installing Microsoft.NETCore.Platforms 2.0.0.
  Installing System.Security.Cryptography.Pkcs 4.5.0.
  Installing System.Security.Permissions 4.5.0.
  Installing System.Security.AccessControl 4.5.0.
  Installing NETStandard.Library 1.6.1.
  Installing System.Text.Encoding.CodePages 4.5.0.
  Installing System.Linq 4.3.0.
  Installing runtime.native.System.Data.SqlClient.sni 4.4.0.
  Installing System.Diagnostics.Debug 4.3.0.
  Installing System.Globalization 4.3.0.
  Installing System.IO 4.3.0.
  Installing System.Collections 4.3.0.
  Installing System.Runtime.Serialization.Primitives 4.3.0.
  Installing System.Runtime.Serialization.Formatters 4.3.0.
  Installing System.Xml.XmlDocument 4.3.0.
  Installing System.Threading 4.3.0.
  Installing System.Resources.ResourceManager 4.3.0.
  Installing System.Text.Encoding.Extensions 4.3.0.
  Installing System.Xml.XDocument 4.3.0.
  Installing System.Threading.Tasks 4.3.0.
  Installing System.Linq.Expressions 4.3.0.
  Installing System.Runtime.Numerics 4.3.0.
  Installing System.Text.Encoding 4.3.0.
  Installing System.Reflection.Extensions 4.3.0.
  Installing System.Text.RegularExpressions 4.3.0.
  Installing System.Runtime.Extensions 4.3.0.
  Installing System.Reflection 4.3.0.
  Installing System.ObjectModel 4.3.0.
  Installing System.Dynamic.Runtime 4.3.0.
  Installing System.Xml.ReaderWriter 4.3.0.
  Installing Microsoft.CSharp 4.3.0.
  Installing System.ComponentModel.TypeConverter 4.3.0.
  Installing System.Runtime 4.3.0.
  Installing System.Reflection.Emit.ILGeneration 4.3.0.
  Installing System.Reflection.Primitives 4.3.0.
  Installing System.AppContext 4.3.0.
  Installing System.Console 4.3.0.
  Installing System.Collections.Concurrent 4.3.0.
  Installing System.Diagnostics.Tools 4.3.0.
  Installing System.Security.Cryptography.Encoding 4.0.0.
  Installing System.IO.Compression 4.3.0.
  Installing System.IO.FileSystem 4.3.0.
  Installing System.IO.FileSystem.Primitives 4.3.0.
  Installing System.Security.Cryptography.Encoding 4.3.0.
  Installing System.Collections.Immutable 1.3.1.
  Installing System.Runtime.InteropServices 4.3.0.
  Installing System.Security.Cryptography.X509Certificates 4.1.0.
  Installing System.Diagnostics.StackTrace 4.3.0.
  Installing System.Reflection.Metadata 1.4.2.
  Installing System.Threading.Thread 4.3.0.
  Installing Microsoft.CodeAnalysis.Analyzers 1.1.0.
  Installing System.Security.Cryptography.X509Certificates 4.3.0.
  Installing System.ValueTuple 4.3.0.
  Installing System.Diagnostics.FileVersionInfo 4.3.0.
  Installing System.Threading.Tasks.Parallel 4.3.0.
  Installing System.Security.Cryptography.Algorithms 4.3.0.
  Installing System.Xml.XPath.XDocument 4.3.0.
  Installing System.Text.Encoding.CodePages 4.3.0.
  Installing System.Runtime.InteropServices 4.1.0.
  Installing Microsoft.IdentityModel.Protocols 5.2.0.
  Installing Microsoft.IdentityModel.Tokens 5.2.0.
  Installing Microsoft.IdentityModel.Xml 5.2.0.
  Installing System.Diagnostics.Debug 4.0.11.
  Installing System.Reflection.Extensions 4.0.1.
  Installing Microsoft.IdentityModel.Tokens.Saml 5.2.0.
  Installing System.Runtime.Extensions 4.1.0.
  Installing System.Threading 4.0.11.
  Installing System.Collections 4.0.11.
  Installing System.Reflection 4.1.0.
  Installing System.ObjectModel 4.0.12.
  Installing System.Linq 4.1.0.
  Installing System.Linq.Queryable 4.0.1.
  Installing System.Linq.Expressions 4.1.0.
  Installing System.Runtime 4.1.0.
  Installing NETStandard.Library 1.6.0.
  Installing System.Dynamic.Runtime 4.0.11.
  Installing Newtonsoft.Json 9.0.1.
  Installing Microsoft.DotNet.PlatformAbstractions 2.1.0.
  Installing System.Runtime.CompilerServices.Unsafe 4.5.0.
  Installing runtime.win-x64.runtime.native.System.Data.SqlClient.sni 4.4.0.
  Installing runtime.win-x86.runtime.native.System.Data.SqlClient.sni 4.4.0.
  Installing runtime.win-arm64.runtime.native.System.Data.SqlClient.sni 4.4.0.
  Installing Microsoft.NETCore.Platforms 1.1.0.
  Installing Microsoft.Win32.Primitives 4.3.0.
  Installing System.Net.Sockets 4.3.0.
  Installing System.Diagnostics.Tracing 4.3.0.
  Installing System.IO.Compression.ZipFile 4.3.0.
  Installing System.Globalization.Calendars 4.3.0.
  Installing System.Threading.Timer 4.3.0.
  Installing System.Security.Cryptography.Primitives 4.3.0.
  Installing System.Runtime.InteropServices.RuntimeInformation 4.0.0.
  Installing System.Runtime.Handles 4.3.0.
  Installing System.Runtime.InteropServices.RuntimeInformation 4.3.0.
  Installing System.Net.Http 4.3.0.
  Installing Microsoft.NETCore.Targets 1.1.0.
  Installing System.Net.Primitives 4.3.0.
  Installing System.Reflection.Emit.Lightweight 4.3.0.
  Installing System.Reflection.TypeExtensions 4.3.0.
  Installing System.Threading.Tasks.Extensions 4.3.0.
  Installing System.ComponentModel 4.3.0.
  Installing System.ComponentModel.Primitives 4.3.0.
  Installing System.Collections.NonGeneric 4.3.0.
  Installing System.Collections.Specialized 4.3.0.
  Installing runtime.native.System 4.3.0.
  Installing runtime.native.System.IO.Compression 4.3.0.
  Installing System.Buffers 4.3.0.
  Installing runtime.native.System.Security.Cryptography.OpenSsl 4.3.0.
  Installing runtime.native.System.Net.Http 4.3.0.
  Installing System.Security.Cryptography.OpenSsl 4.3.0.
  Installing System.Security.Cryptography.Cng 4.3.0.
  Installing System.Security.Cryptography.Csp 4.3.0.
  Installing runtime.native.System.Security.Cryptography.Apple 4.3.0.
  Installing System.Xml.XPath 4.3.0.
  Installing Microsoft.IdentityModel.Logging 5.2.0.
  Installing System.Diagnostics.Contracts 4.3.0.
  Installing System.Runtime.Serialization.Xml 4.3.0.
  Installing Microsoft.NETCore.Platforms 1.0.1.
  Installing Microsoft.NETCore.Targets 1.0.1.
  Installing System.Security.Claims 4.3.0.
  Installing System.Reflection.Primitives 4.0.1.
  Installing System.IO 4.1.0.
  Installing System.Globalization 4.0.11.
  Installing System.Threading.Tasks 4.0.11.
  Installing System.Resources.ResourceManager 4.0.1.
  Installing System.Reflection.Emit 4.0.1.
  Installing System.Reflection.TypeExtensions 4.1.0.
  Installing System.Reflection.Emit.ILGeneration 4.0.1.
  Installing System.Reflection.Emit.Lightweight 4.0.1.
  Installing System.AppContext 4.1.0.
  Installing System.Collections.Concurrent 4.0.12.
  Installing System.IO.FileSystem.Primitives 4.0.1.
  Installing System.Runtime.Numerics 4.0.1.
  Installing System.Security.Cryptography.Primitives 4.0.0.
  Installing System.Xml.XDocument 4.0.11.
  Installing System.Text.RegularExpressions 4.1.0.
  Installing Microsoft.Win32.Primitives 4.0.1.
  Installing System.Console 4.0.0.
  Installing System.Diagnostics.Tools 4.0.1.
  Installing System.Diagnostics.Tracing 4.1.0.
  Installing System.Globalization.Calendars 4.0.1.
  Installing System.IO.FileSystem 4.0.1.
  Installing System.Net.Sockets 4.1.0.
  Installing System.Text.Encoding 4.0.11.
  Installing System.Threading.Timer 4.0.1.
  Installing System.Net.Primitives 4.0.11.
  Installing System.Runtime.Handles 4.0.1.
  Installing System.Text.Encoding.Extensions 4.0.11.
  Installing System.IO.Compression.ZipFile 4.0.1.
  Installing System.IO.Compression 4.1.0.
  Generating MSBuild file /mvcapp/obj/mvcapp.csproj.nuget.g.props.
  Generating MSBuild file /mvcapp/obj/mvcapp.csproj.nuget.g.targets.
  Restore completed in 44.04 sec for /mvcapp/mvcapp.csproj.

Restore succeeded.

real    1m8.386s
user    1m8.010s
sys     0m18.190s
root@9d1d5e45df6a:/# cd mvcapp/
root@9d1d5e45df6a:/mvcapp# time dotnet build
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 557.76 ms for /mvcapp/mvcapp.csproj.
  mvcapp -> /mvcapp/bin/Debug/netcoreapp2.1/mvcapp.dll
  mvcapp -> /mvcapp/bin/Debug/netcoreapp2.1/mvcapp.Views.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:02:07.34

real    2m11.716s
user    1m22.990s
sys     0m8.880s
root@9d1d5e45df6a:/mvcapp#
MichaelSimons commented 6 years ago

related to https://github.com/dotnet/dotnet-docker/issues/546