从jdk8更改为jdk11后,Sonarqube 7.8 Docker镜像无法运行

时间:2019-06-21 18:21:16

标签: java docker sonarqube

我将Sonarqube服务器从6.7社区升级到7.8社区,因为最新版本可以在openjdk 11上运行。Sonarqube托管的docker映像正在openjdk 8上运行。我试图使映像在自定义openjdk 11上运行版本java-11-openjdk-11.0.3.7-0.0.1.el7_6.x86_64。

FROM sonarqube:7.8-community

COPY plugins /opt/sonarqube/extensions/plugins
COPY openjdk-11.0.3.tar.gz .

USER root

RUN \
tar -xvzf openjdk-11.0.3.tar.gz -C /usr/local && \ 
rm -rf openjdk-11.0.3.tar.gz 

ENV JAVA_HOME /usr/local/java-11-openjdk-11

泊坞窗映像无法启动,并显示以下错误。

2019.06.21 18:20:46 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2019.06.21 18:20:46 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.06.21 18:20:46 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2019.06.21 18:20:48 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2019.06.21 18:20:48 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2019.06.21 18:20:48 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

是否有更好的方法来切换Java版本?

还要如何从Docker容器内部重新启动Sonarqube服务器?

1 个答案:

答案 0 :(得分:0)

问题所在的Java主目录未添加到路径中。我修改了Dockefile如下,它开始工作。

FROM sonarqube:7.8-community

COPY plugins /opt/sonarqube/extensions/plugins
COPY openjdk-11.0.3.tar.gz .

USER root

RUN \
tar -xvzf openjdk-11.0.3.tar.gz -C /usr/local && \ 
rm -rf openjdk-11.0.3.tar.gz 

ENV JAVA_HOME /usr/local/java-11-openjdk-11
ENV PATH="$JAVA_HOME/bin:${PATH}"