2017-02-15 114 views
0

我在eclipse上运行的windows上有一个web应用程序,使用xampp为apache和mysql。它使用jdk v 1.8将Tomcat docker容器的jdk版本升级到1.8

现在,我想部署在docker tomcat容器内部。我已经从tomcat官方图片创建了一个容器...但是我看到它的jdk版本是1.7 ...所以当我尝试在容器下运行web应用程序时出现了一些错误(从tomcat日志中我看到unsupported major.minor version 52.0 (unable to load class)

所以..我怎么能解决我的问题?

+0

有JRE 8的官方图片。https://hub.docker.com/_/tomcat/列出8.0和8.5的'-jre8'版本。你在使用哪一个? – nitind

+0

我正在创建一个码头容器,只选择“tomcat”官方镜像(即docker run -p PORT:PORT --name mytomcat tomcat)。现在我正在使用tomcat:8.0,但我有这个问题使用这个容器:http://stackoverflow.com/questions/42270692/connect-a-web-app-on-tomcat-container-to-mysql-container -via-hibernate – pier92

回答

1

有几乎所有openjre 8.但是,如果你想使用JDK出于某种原因,或者你使用Tomcat其中确实有些版本的Tomcat的版本available版本没有jre 8运行时或者你想使用oracle JDK然后下面是2种方式有jdk 8

  1. 你创建你的ow n docker文件并扩展tomcat docker映像。
  2. 您使用docker提交功能。而不是运行码头像docker run -it --rm -p 8888:8080 tomcat:8.0运行它作为docker run -it --rm -p 8888:8080 tomcat:8.0 bash。这将显示bash shell。然后你可以使用这个link来安装jdk8。做docker commit,你就可以在任何地方使用该图像。

选项1始终是可取的,因为您可以更好地控制图像。

+0

谢谢,现在我正在使用tomcat:8.0,但我有这个问题使用这个容器:http://stackoverflow.com/questions/42270692/connect-a-web-app-on-tomcat-容器到MySQL的容器通过休眠 – pier92

+0

你能接受这个问题的答案吗?我将就另一个问题 – GauravJ

+0

@GauravJ对Jasper等库进行评论,openjdk不是一个选项,使用jdk是唯一的选择。我最近也面临同样的问题,并且在我的Docker容器上拥有jdk是我的应用程序按预期运行的唯一选项 – user3153278