2

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

对于 Linux 容器,可以通过拉取 Tomcat 镜像(构建在 openJDK 之上并使用 Debian 作为基础镜像)并通过Dockerfile将 war 文件添加到webapps文件夹来完成。

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

在我看来,为了能够在 Tomcat for windows 上运行战争,我们需要:

  • windows服务器核心
  • JDK:JRE 安装在 windowsservercore 之上
  • 使用已安装 JDK 的环境变量安装 Tomcat。

要创建最终映像,请通过 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 并设置环境变量,然后将 war 添加到 webapps 目录。

听说过WinDocks,但我想在没有它的情况下构建。

有人对此有一些见解吗?

4

0 回答 0