直接上docker-compose.yml
version: "2"
services:
sonarqube:
image: sonarqube:lts
container_name: sonarqube
depends_on:
- db
environment:
SONAR_ES_BOOTSTRAP_CHECKS_DISABLE: "true"
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- ./data:/opt/sonarqube/data
- ./extensions:/opt/sonarqube/extensions
- ./logs:/opt/sonarqube/logs
ports:
- 9002:9000
db:
image: postgres:12
restart: always
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- ./postgresql_data:/var/lib/postgresql/data
-
postgresql
报错:一开始用的是
postgresql:12
,死活启动不起来,报错:/docker-entrypoint-initdb.d/
权限错误,换成postgres:12-alpine
后就好了。根本原因应该不是版本问题,是
volumes
初始化问题,因为再换回12
又同样可以了。 -
sonarqube
报错:could not find java in ES_JAVA_HOME at /usr/lib/jvm/java-11-openjdk/bin/java
这是因为新版的问题,一开始用的
sonarqube:commutity
的版本,换回sonarqube:lts
就好了。 -
gradle sonarqube
报错:Unable to load component class org.sonar.scanner.report.MetadataPublisher
这是因为
jdk
版本和sonarqube
要求的版本不一致,会有提示:SonarScanner will require Java 11 to run, starting in SonarQube 9.x
,换成高版本jdk
即可。 -
sonarqube
中的ce.log
报错:duplicate **key** value violates unique constraint "rules_parameters_unique"
参考这里,我一开始用的版本是
14
,需要把postgres
的版本降到12
才行。