My docker file gets a Nano Server container and it adds Java automatically.
# Get nano server
FROM microsoft/nanoserver
# Download file and set in docker container
ADD http://javadl.oracle.com/webapps/download/AutoDL?BundleId=225355_090f390dda5b47b9b721c7dfaa008135 \
'C:\\java\jre-8u151-windows-x64.exe'
# Silent install and delete install file
RUN powershell Start-Process -filepath C:\java\jre-8u151-windows-x64.exe -ArgumentList '/s,INSTALLDIR=c:\Java\jre1.8.0_151' -Passthru -Wait; \
Remove-Item C:\\java\jre-8u151-windows-x64.exe -Force
CMD powershell
The process works correctly but in Nano Server it does not install anything without showing any error. However, with Core Server it does install it.
The result of the silent installation is:
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
3 476 1464 596 1 jre-8u151-windows-x64
But then, when I check if it is installed with dir
command, I see the following result:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 12/21/2017 11:04 AM Program Files
d----- 7/16/2016 2:09 PM Program Files (x86)
d-r--- 11/3/2017 8:44 PM Users
d----- 12/21/2017 11:05 AM Windows
-a---- 7/24/2017 6:05 PM 65365056 jre-8u151-windows-x64.exe
-a---- 11/20/2016 12:32 PM 1894 License.txt
How could I make this process work correctly or what alternative can I use?
Windows nano server does not support MSI based installation. It supports WSA. Please refer to: