我想创建我的自定义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