【问题标题】:Upgrade jdk version of Tomcat docker container to 1.8将Tomcat docker容器的jdk版本升级到1.8
【发布时间】:2017-02-15 16:07:52
【问题描述】:

我有一个从 Eclipse 运行的 Windows 上的 Web 应用程序,带有用于 apache 和 mysql 的 xampp。它使用 jdk v 1.8

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

那么..我该如何解决我的问题?

【问题讨论】:

  • 有带有 JRE 8 的官方镜像。hub.docker.com/_/tomcat 列出了 -jre8 8.0 和 8.5 的版本。你用的是哪一个?
  • 我正在创建一个 docker 容器,只选择“tomcat”官方镜像(即 docker run -p PORT:PORT --name mytomcat tomcat)。现在我使用的是 tomcat:8.0,但是我在使用这个容器时遇到了这个问题:stackoverflow.com/questions/42270692/…

标签: java eclipse tomcat docker


【解决方案1】:

几乎所有版本的 tomcat 版本 available 都带有 openjre 8。但是,如果您出于某种原因想使用 JDK,或者您正在使用某些没有 jre 8 运行时的 tomcat 版本,或者您想使用 oracle JDK那么以下是拥有 jdk 8 的 2 种方法

  1. 您创建自己的 docker 文件并扩展 tomcat docker 映像。
  2. 您使用 docker 提交功能。不要像docker run -it --rm -p 8888:8080 tomcat:8.0 那样运行docker,而是以docker run -it --rm -p 8888:8080 tomcat:8.0 bash 运行它。这将显示 bash shell。然后您可以使用此link 安装 jdk8。执行docker commit,您就可以在任何地方使用该图像。

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

【讨论】:

  • 谢谢,现在我使用的是 tomcat:8.0,但我在使用这个容器时遇到了这个问题:stackoverflow.com/questions/42270692/…
  • 你能接受这个问题的答案吗?我将评论另一个问题
  • @GauravJ 对于 Jasper 等一些库,openjdk 不是一个选项,使用 jdk 是唯一的选择。我最近也遇到了同样的问题,在我的 Docker 容器上安装 jdk 是我的应用程序按预期运行的唯一选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
相关资源
最近更新 更多