2017-12-21 26 views
0

私のdockerファイルはNano Serverコンテナを取得し、自動的にJavaを追加します。Powershell Dockerを使ってNano Serverにサイレントインストール

# 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 

はどのように作ることをこのプロセスは正しく動作しますか、あるいはどのような代替手段を使用できますか?

答えて

関連する問題