sonarqube使用docker部署
# 部署文件
version: '3.1'
services:
db:
image: postgres
container_name: db
ports:
- 5432:5432
networks:
- sonarnet
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
sonarqube:
image: sonarqube:latest
container_name: sonarqube
depends_on:
- db
ports:
- 9000:9000
networks:
- sonarnet
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
networks:
sonarnet:
driver: bridge
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 启动报错问题处理
bootstrap check failure [1] of [1]: max virtual memory areas
vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法
vim /etc/sysctl.conf
#加载配置
vm.max_map_count=262144
sysctl -p
2
3
4
# 控制台设置中文
默认登录账号密码admin
注:不建议使用docker部署,在手动安装插件会有启动不了的情况
# 报错问题
1.当docker版本小于20.10时会报错
2024.12.20 02:01:12 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp 2024.12.20 02:01:12 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:43257] 2024.12.20 02:01:12 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch could not find java in ES_JAVA_HOME at /opt/java/openjdk/bin/java 2024.12.20 02:01:12 WARN app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 1 2024.12.20 02:01:12 INFO app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped 2024.12.20 02:01:12 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped 2024.12.20 02:01:12 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
解决方法:有两种方式,选择其一即可
升级docker版本
在docker compose 文件中加入security_opt: -seccomp:unconfined
2.sonarqube配置nginx代理时访问一直loading
nginx配置如下
location /sonarqube/ {
proxy_pass http://127.0.0.1:9001;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
2
3
4
5
6
解决方法:需要再sonarqube服务的配置添加
vim /opt/sonarqube/conf/sonar.properties
sonar.web.context=/sonarqube