由于我们想在调用之间保留数据,因此我们需要确保已建立生产级数据库并将其链接到Sonarqube,并且已将扩展目录创建并作为卷安装在主机上,以便所有下载的插件在容器调用,可以被多个容器使用(如果需要)。
数据库设置:
create database sonar;
grant all on sonar.* to `sonar`@`%` identified by "SOME_PASSWORD";
flush privileges;
# since we do not kNow the containers IP before hand, we use '%' for sonarqube host IP.
,如果Sonarqube找不到 ,则可以创建它们。
启动Sonarqube容器:
# create a directory on host
mkdir /server_data/sonarqube/extensions
mkdir /server_data/sonarqube/data # this will be useful in saving startup time
# Start the container
docker run -d \
--name sonarqube \
-p 9000:9000 \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=SOME_PASSWORD \
-e SONARQUBE_JDBC_URL="jdbc:MysqL://HOST_IP_OF_DB_SERVER:PORT/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance" \
-v /server_data/sonarqube/data:/opt/sonarqube/data \
-v /server_data/sonarqube/extensions:/opt/sonarqube/extensions \
sonarqube