我想创建我的自定义SonarQube docker镜像,已安装了一些插件,但每次运行我的容器时,插件都不存在.这就像有些东西从那里删除插件/opt/sonarqube/extensions/plugins并复制bundled-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
Run Code Online (Sandbox Code Playgroud)
我尝试列出该文件夹,它列出了我想要的插件.但是,如果我在启动容器后列出相同的文件夹,它们就会消失.
我也试过删除bundled-plugins没有运气.
有任何想法吗?
tha*_*tah 16
Sonarqube映像使用目录卷/extensions/,这导致该目录中的文件不存储在映像的文件系统中; 看到Dockerfile
要在映像中打包这些扩展,您需要在该目录之外使用它们,并将这些文件复制到/extensions/入口点脚本中,或将插件存储在单独的映像中,并在运行映像时将这些插件作为卷安装; 你可以在这里找到一个例子; https://github.com/SonarSource/docker-sonarqube/blob/master/recipes.md
请注意,接受的答案不再适用.如果您直接使用最近的父级sonarqube图像,它应该工作.因此,如果问题中提到的Dockerfile不起作用,则会遇到其他问题.
有关详细信息,请参阅提交80366e3419d698b4bba4447f153418ef64b3b705.
删除"conf","logs"和"extensions"目录的卷明确的卷声明仅适用于应用程序存储的数据,可配置事物的卷几乎从不合适(请参阅docker-library/official-images#2437).
这将恢复提交69fca2e.另外删除"extensions"目录的卷声明.
| 归档时间: |
|
| 查看次数: |
9461 次 |
| 最近记录: |