当从磁盘装入数据卷时,使用docker无法正确显示声纳qualityprofile页面。

我正在build立一个Sonarqube服务器,并且想使用正式的dockerised版本,但是当我将数据文件夹挂载为卷以保持重启之间的状态时,QualityProfiles页面无法显示configuration文件。

configuration文件存储虽然,我可以在“比较configuration文件”下拉列表中看到它们,并在重新启动时保留。

我试过Safari和Chrome,行为是一致的。

日志中没有错误,就我所知,没有任何权限问题,因为正在写入数据。 没有安装数据卷它工作正常,但状态不坚持重新启动,这是一个交易断路器..

还有谁解决了这个问题呢?

这是我的docker-composeconfiguration

sonarqube: image: sonarqube:5.1 links: - db:postgres ports: - "9000:9000" - "9092:9092" - "5432:5432" environment: - SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar - SONARQUBE_JDBC_PASSWORD=sonar - SONARQUBE_JDBC_USERNAME=sonar volumes: - /data/sonar:/opt/sonarqube/data privileged: true db: image: postgres environment: - POSTGRES_PASSWORD=sonar - POSTGRES_USER=sonar volumes: - /data/postgres:/var/lib/postgresql/data privileged: true 

和docker版本

 [ec2-user @ xxxxxxxxx声纳] $ docker版本
客户端版本:1.6.2
客户端API版本:1.18
转到版本(客户端):go1.3.3
 Git的提交(客户端):7c8fca2 / 1.6.2
 OS / Arch(客户端):linux / amd64
服务器版本:1.6.2
服务器API版本:1.18
 Go版本(服务器):go1.3.3
 Git提交(服务器):7c8fca2 / 1.6.2
 OS / Arch(服务器):linux / amd64

问题是sonarqube映像没有为$SONARQUBE_HOME/extensions文件夹使用卷。 第一次使用docker-compose up ,声纳初始化数据库并安装3个插件:JAVA,GIT和SVN。

第二次运行docker-compose up ,数据库已经安装,但是$SONARQUBE_HOME/extensions/plugins文件夹是空的。 所以JAVA,GIT和SVN都没有安装, sonarqube禁用这些规则。

这个docker-compose.yml文件按预期工作。

 sonarqube: image: sonarqube:5.1.1 links: - db ports: - "9000:9000" environment: - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar volumes: - /data/sonar/data:/opt/sonarqube/data - /data/sonar/extensions:/opt/sonarqube/extensions db: image: postgres environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar ports: - "5432:5432" volumes: - /data/postgres:/var/lib/postgresql/data 

在使用docker-compose rm之后,它仍然可以工作,并且您将能够添加其他插件。

在生成镜像的Dockerfile中应该使用VOLUME指令。 我会把它提交给他们。