【问题标题】:Sonarqube 7.8 Docker Image not able run after changing from jdk8 to jdk11从 jdk8 更改为 jdk11 后,Sonarqube 7.8 Docker Image 无法运行
【发布时间】:2019-11-04 14:41:02
【问题描述】:

我正在将我的 Sonarqube 服务器从 6.7 升级到 7.8-community,因为最新版本可以在 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

docker 镜像无法启动,出现以下错误。

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 服务器?

【问题讨论】:

  • 重启 SonarQube 取决于它的使用/安装方式。您可以将其作为服务运行或使用批处理文件启动它。您是否调查了所有 SonarQube 日志文件?
  • 在执行到 sonaqube 映像时,在 bin 下,我只看到 run.sh。此文件没有重启输入。
  • this 文档页面有帮助吗?
  • 文档没有提到 docker 容器的任何内容。

标签: java docker sonarqube


【解决方案1】:

问题在于未将 java home 添加到路径中。我修改了 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}"

【讨论】:

    猜你喜欢
    • 2021-10-25
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 2022-12-09
    相关资源
    最近更新 更多