Add a nanoserver-based image
Opened this issue · 1 comments
See branch nano
There are some issues with the required system libraries, it seems, because the Installation of R just quietly does nothing.
Nanoserverapiscan also does not help me so far, because I do not have a system32/Forwarders
directory on my machine. Maybe I need to be on a Windows server... probably the R installer needs to be updated to work on nanoserver... or I must try to build R from source.
docker run -v "$(pwd):C:\scan" stefanscherer/nanoserverapiscan
Error: the file "C:\scan\GitKrakenSetup.exe" is not a valid 64 bit PE file.
Error: the file "C:\scan\R-3.4.3-win.exe" is not a valid 64 bit PE file.
Error: no reverse forwarders dll is found in "C:\scan". Please verify if reverse forwarders are properly deployed with this tool.
Resources
- https://docs.microsoft.com/en-us/windows-server/get-started/getting-started-with-nano-server
- https://social.msdn.microsoft.com/Forums/en-US/4d12df17-e803-4b12-ac82-6df99eb774cc/docker-on-windows-cannot-execute-exe-files-inisde-nanoserver-container-security-policies?forum=windowscontainers
- Microsoft-OneCore-ReverseForwarders-Package.cab - where can I get that?
- https://social.technet.microsoft.com/Forums/windowsserver/en-US/e08daebc-c298-4932-a9d7-ff08fabf9536/nano-server-packages?forum=NanoServer
Normally Exe installers are 32bit applications to be able to run on 32bit and 64bit Windows. They may have the 32bit and 64bit installers embedded, but the Exe wrapper is still 32bit.
There is no chance to run 32bit exe files in NanoServer.
You can use your Dockerfile, download the exe installer in windowsservercore and run the installer there.
Then add a second stage to create a multi-stage build in one Dockerfile to copy the C:\R folder to the final NanoServer stage and then try to run the R binary there.
The final stage also needs to set the PATH as this can't be copied from one stage to another.