powershell - 使用Docker在Nano Server中进行Powershell静默安装

标签 powershell docker start-process nano-server

我的docker文件获取一个Nano Server容器,并自动添加Java。

# 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

该过程可以正常运行,但是在Nano Server中它不会安装任何东西而不会显示任何错误。但是,使用Core Server会安装它。

静默安装的结果是:
Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
              3      476       1464               596   1 jre-8u151-windows-x64

但是,当我检查是否已使用dir命令安装时,会看到以下结果:
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

如何使该过程正常工作,或者可以使用什么替代方法?

最佳答案

Windows nano服务器不支持基于MSI的安装。它支持WSA。请参阅:

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

关于powershell - 使用Docker在Nano Server中进行Powershell静默安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922643/

相关文章:

powershell - PowerExplorer.Application com对象和Windows 2012 in Powershell

docker - 使用`dlv`调试`docker`失败

powershell - 使用 PowerShell 的 Start-Process cmdlet 传递变量参数

powershell - 将字符串转换为 PSCustomObject

postgresql - 将 Docker Postgres 容器连接到现有的空数据库

sharepoint - Powershell 启动进程在远程 session 中被忽略

powershell - 计算目录中PDF文件的数量并输出到.csv

powershell - 2>&1在PowerShell中是什么意思

powershell - -Contains 什么时候不起作用和/或我应该使用其他东西

python - 如果我已经将模型作为 pickle,为什么还需要在 docker 容器中使用 sklearn?