我正在设置一个Sonarqube服务器,并希望使用官方的dockerised版本,但是当我将数据文件夹作为卷挂载以保持重新启动之间的状态时,QualityProfiles页面无法显示配置文件。
虽然存储了配置文件,但我可以在“比较配置文件”下拉菜单中看到它们,并在重新启动时保留它们。
我尝试过Safari和Chrome,行为一致。
日志中没有错误,据我所知,由于正在编写数据,因此没有任何权限问题。没有安装数据卷它工作正常,但重启时状态不会持久,这是一个交易破坏者..
有这个问题的其他人设法解决了吗?
这是我的docker-compose config
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
码头版本
[ec2-user@xxxxxxxxx sonar]$ docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.3.3
Git commit (client): 7c8fca2/1.6.2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.3.3
Git commit (server): 7c8fca2/1.6.2
OS/Arch (server): linux/amd64
答案 0 :(得分:2)
问题是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
指令。我会把它提交给他们。