当从磁盘装入数据卷时,使用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
指令。 我会把它提交给他们。