2017-02-15 517 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