在Docker镜像上手动安装SonarQube插件

我想创建我的自定义SonarQube docker镜像,已安装了一些插件,但每次运行我的容器时,插件都不存在.这就像从/ opt / sonarqube / extensions / plugins中删除插件并在那里复制捆绑插件.

我的Dockerfile

FROM sonarqube

ENV SONARQUBE_HOME /opt/sonarqube

RUN wget "http://downloads.sonarsource.com/plugins/org/codehaus/sonar-plugins/sonar-scm-git-plugin/1.1/sonar-scm-git-plugin-1.1.jar" \
    && wget "https://github.com/SonarSource/sonar-java/releases/download/3.12-RC2/sonar-java-plugin-3.12-build4634.jar" \
    && wget "https://github.com/SonarSource/sonar-github/releases/download/1.1-M9/sonar-github-plugin-1.1-SNAPSHOT.jar" \
    && wget "https://github.com/SonarSource/sonar-auth-github/releases/download/1.0-RC1/sonar-auth-github-plugin-1.0-SNAPSHOT.jar" \
    && wget "https://github.com/QualInsight/qualinsight-plugins-sonarqube-badges/releases/download/qualinsight-plugins-sonarqube-badges-1.2.1/qualinsight-sonarqube-badges-1.2.1.jar" \
    && mv *.jar $SONARQUBE_HOME/extensions/plugins \
    && ls -lah $SONARQUBE_HOME/extensions/plugins

我尝试列出该文件夹,它列出了我想要的插件.但是如果我在启动容器后列出相同的文件夹,它们就会消失.

我也试过删除捆绑插件没有运气.

有任何想法吗?

Sonarqube映像使用/ extensions /目录的卷,这导致该目录中的文件不存储在映像的文件系统中;见Dockerfile

要在映像中打包这些扩展,您需要在该目录之外,并将这些文件复制到入口点脚本中的/ extensions /,或将插件存储在单独的映像中,并在运行映像时将这些插件作为卷安装;你可以在这里找到一个例子; https://github.com/SonarSource/docker-sonarqube/blob/master/recipes.md

翻译自:https://stackoverflow.com/questions/36376968/manually-installing-sonarqube-plugins-on-docker-image

转载注明原文:在Docker镜像上手动安装SonarQube插件