SonarQube社区版安装
·
1. 目录结构建议
在 /mnt/sda1/ 下建议创建如下结构:
mkdir -p /mnt/sda1/sonarqube/{conf,data,extensions,logs}
各目录含义:
conf:配置文件(如sonar.properties)data:应用数据extensions:插件和临时插件数据logs:日志文件
2. 启动 PostgreSQL 容器(不变)
数据持久化可选挂载:
mkdir -p /mnt/sda1/sonar_pgdata
docker run -d --name sonarqube_postgres \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonarqube \
-v /mnt/sda1/sonar_pgdata:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:15
3. 启动 SonarQube 容器(带挂载)
docker run -d --name sonarqube \
-p 9000:9000 \
--link sonarqube_postgres:db \
-e SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonarqube \
-e SONAR_JDBC_USERNAME=sonar \
-e SONAR_JDBC_PASSWORD=sonar \
-v /mnt/sda1/sonarqube/conf:/opt/sonarqube/conf \
-v /mnt/sda1/sonarqube/data:/opt/sonarqube/data \
-v /mnt/sda1/sonarqube/extensions:/opt/sonarqube/extensions \
-v /mnt/sda1/sonarqube/logs:/opt/sonarqube/logs \
sonarqube:community
4. 访问 SonarQube
浏览器访问:http://服务器IP:9000
默认账号:admin
默认密码:admin
5. 其他常用操作
查看日志:
docker logs -f sonarqube
停止服务:
docker stop sonarqube
直接给写权限
chmod -R 777 /mnt/sda1/sonarqube
4. 初始化配置
- 第一次启动后,容器会自动生成配置文件到
conf,如要自定义参数,可直接编辑/mnt/sda1/sonarqube/conf/sonar.properties,然后重启容器。
问题记录
问题1
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这是 Elasticsearch(SonarQube 内部依赖) 在 Linux 下非常常见的问题。
解决办法
需要在宿主机(Linux 主机)上执行以下命令提升内核参数:
sysctl -w vm.max_map_count=262144
永久生效请加到 /etc/sysctl.conf:
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
步骤
-
设置当前会话:
sysctl -w vm.max_map_count=262144 -
设置开机自启动(推荐):
echo "vm.max_map_count=262144" >> /etc/sysctl.conf sysctl -p -
重启 SonarQube 容器:
docker restart sonarqube
为什么要这样设置?
Elasticsearch 需要大量的虚拟内存映射区,否则就会因为 vm.max_map_count 太低而无法启动
问题2
中文问题
wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/v10.3/sonar-l10n-zh-plugin-10.3.jar -O /mnt/sda1/sonarqube/extensions/plugins/sonar-l10n-zh-plugin-10.3.jar
更多推荐


所有评论(0)