Powershell Silent Install in Nano Server with Dock

2019-08-26 00:53发布

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?

1条回答
我命由我不由天
2楼-- · 2019-08-26 01:46

Windows nano server does not support MSI based installation. It supports WSA. Please refer to:

https://blogs.technet.microsoft.com/nanoserver/2015/11/18/installing-windows-server-apps-on-nano-server/

查看更多
登录 后发表回答