Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Windows server 2016 Docker容器运行部署在Tomcat上的Java war文件_Tomcat_Docker_Dockerfile_Windows Server 2016_Windows Container - Fatal编程技术网

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

通过Windows server 2016 Docker容器运行部署在Tomcat上的Java war文件,tomcat,docker,dockerfile,windows-server-2016,windows-container,Tomcat,Docker,Dockerfile,Windows Server 2016,Windows Container,正在尝试在Windows server 2016上使用Docker运行Java.war文件 使用Linux容器,可以通过拉取Tomcat映像(它构建在openJDK之上,使用Debian作为基本映像)并通过Dockerfile将war文件添加到webapps文件夹来完成 但是,Tomcat目前没有Windows容器的任何映像,因为openJDK也不支持Microsoft/windowsservercore或Microsoft/nanoserver 在我看来,要在Tomcat for window

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

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

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

在我看来,要在Tomcat for windows上运行war,我们需要:

  • windowsservercore
  • 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目录

听说过Windock,但我想不建它


有人对此有一些见解吗?

了解您为什么要这样做可能会有所帮助。为什么不能使用基于Debian的Tomcat映像?在Windows容器上拉取任何基于Debian的Tomcat映像时,都不会抛出“docker:image操作系统”“Linux”无法在此平台上使用。”