I asked this question originally at: https://github.com/aspnet/aspnet-docker/issues/349 as a part of the deprecation announcement, and I am hoping the SO community may have a good answer for this:
I am trying to use the windows side for a SPA build using the microsoft/dotnet:2.1-sdk. I know, I may be the only one trying to stay on the windows side for an ASP.NET Core Application, but our swarm initially will only have windows servers running in the native OS mode and not Hyper-V mode.
As a consequence, I need to install node.js for windows (because node.js/grunt/gulp are no longer a part of the image like they were in the microsoft/aspnetcore:2.0 image) and I tried:
RUN msiexec.exe /a https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi /quiet
but msiexec.exe isn't in the c:\windows\system32 of this image or in any other directory for that matter.
curl also is not in this image so I can't use that to download anything, and even if I could how do I un-tar or unzip anything?
I can't run a powershell invocation of:
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
to try to install chocolatey to install node from there as System.Net.WebClient is not available in this image.
I guess my question is is there any container native way to get node.js installed internally without having to download something outside the container, copying it in, and then executing it. Kinda defeats the purpose of a multistage build if I have to do that or at least in my opinion makes it an ugly solution.