# 环境:centos7.6\docker1.13.1
# 1. docker hub 上下载postgre:12 和 sonarqube:8.3.1-community 的镜像
docker pull postgres:12
docker pull sonarqube:8.3.1-community
# 2. 启动postgres
docker run --name pgdb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -p 5432:5432 -v /data9/postgresql/data:/var/lib/postgresql/data -d postgres:12
# 3. 启动sonarqube
# 往本地服务器执行下面命令,否则sq容器启动不起来
#命令行执行临时生效
sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
#写入配置文件,永久生效
cat >>/etc/sysctl.conf <<EOF
vm.max_map_count=262144
fs.file-max=65536
EOF
sysctl -p
#启动容器名字为sq的sonarqube实例
docker run --name sq \
--link pgdb \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://pgdb:5432/sonar \
-p 19000:9000 \
-v /etc/localtime:/etc/localtime \
-v /data9/sonarqube/data:/opt/sonarqube/data \
-v /data9/sonarqube/extensions:/opt/sonarqube/extensions \
-v /data9/sonarqube/logs:/opt/sonarqube/logs \
-d sonarqube:8.3.1-community
# 4. 启动或停止sonar
docker stop sq/docker start sq
# PS:7.9 以上不支持映射conf到本地;用SONARQUBE_JDBC_USERNAME 来指定postgres的账号密码 7.9及其以上版本官方不再对mysql数据库进行支持
# 5. 访问sonarqube http://localhost:19000/ 首次登陆用户名是:admin 密码:amdin
# 6. 汉化
方法一: 在应用商店搜索chinese(至于如何找到应用商店: 先登录admin/admin,登录后来到),然后安装该插件即可
方法二: 下载对应版本汉化插件包,放到extensions 下的 downloads 或者 plugins 下,重启sonar即可。
# 7. 安装插件。需要在应用市场安装插件,才能进行代码分析,不管是java,python,C,C++这里都可以找到你需要的语言插件