此文档用于记录安装sonarqube的过程。使用postgresql作为外部数据库,docker安装postgresql过程可以参考电梯直达。
在postgresql中创建数据库
我这里为了方便直接在数据库连接工具中直接创建了,你也可以在命令行创建
安装sonarqube
安装
1
2
3
4
5
6
7
8
9
|
$ docker run -itd --name sonar -p 9800:9000 -p 9892:9092 \
-v /data/sonar/conf:/opt/sonarqube/conf \
-v /data/sonar/data:/opt/sonarqube/data \
-v /data/sonar/logs:/opt/sonarqube/logs \
-v /data/sonar/extensions:/opt/sonarqube/extensions \
-e "SONARQUBE_JDBC_USERNAME=postgres" \
-e "SONARQUBE_JDBC_PASSWORD=123456" \
-e "sonar.jdbc.url=jdbc:postgresql://172.16.xx.xx:5432/sonarqube" \
sonarqube:8.3.1-community
|
web端登录
具体的使用后期自己研究一下
可能遇到的问题
文件权限问题
1
2
3
4
5
|
2020-05-12 07:20:58,815 main ERROR Null object returned for RollingFile in Appenders.
2020-05-12 07:20:58,816 main ERROR Unable to locate appender "file_es" for logger config "root"
2020.05.12 07:20:59 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1
2020.05.12 07:20:59 INFO app[][o.s.a.SchedulerImpl] Process[es] is stopped
2020.05.12 07:20:59 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped
|
解决:
1
2
3
|
# 查询发现8.x以上的镜像里用户的UID为1000 可以将映射的文件所有者和组改为1000:1000
$ chown -R 1000:1000 data
#删除容器 在重启部署一次
|
虚拟内存问题
1
2
|
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] sonarqube
|
解决:
1
2
|
# 在宿主机上设置
$ sysctl -w vm.max_map_count=262144
|
参考链接
dockerhub
github
官方文档
https://github.com/SonarSource/docker-sonarqube/issues/282
Author
dylan
LastMod
2020-06-03
License
如需转载请注明文章作者和出处。谢谢!