在Windows server 2016 Docker容器上运行部署在Tomcat上的Java war文件

尝试在Windows server 2016上使用Docker运行Java .war文件。

使用Linux容器,可以通过拉取Tomcat映像( 它build立在openJDK之上,并使用Debian作为基础映像 )并通过Dockerfile将war文件添加到webapps文件夹来完成

但是,Tomcat目前没有任何Windows容器的映像,因为openJDK也不支持Microsoft / windowsservercoreMicrosoft / nanoserver

在我看来,能够在Tomcat上运行Windows的战争我们需要:

  • windowsservercore
  • JDK:在windowsservercore上安装JRE
  • 使用安装了JDK的Environment Vars进行Tomcat安装。

要创build最终映像,请通过PS下载并安装JDK:

Dockerfile看起来像:

FROM windowsservercore RUN powershell (new-object System.Net.WebClient).Downloadfile('http://javadl.oracle.com/webapps/download/Au toDL?BundleId=210185', 'C:\jre-8u91-windows-x64.exe') RUN powershell start-process -filepath C:\jre-8u91-windows-x64.exe -passthru -wait -argumentlist "/s,INSTALLDIR=c:\Java\jre1.8.0_91,/L,install64.log" RUN del C:\jre-8u91-windows-x64.exe CMD [ "c:\\Java\\jre1.8.0_91\\bin\\java.exe", "-version"] 

但我不知道如何安装Tomcat的环境variables设置,然后添加战争的webapps目录。

听说WinDocks ,但我想build立没有它。

任何人都有这方面的一些见解?