一,拉取相关镜像并运行
# 拉取sonarqube镜像
docker pull sonarqube:9.1.0-community
在运行之前要提前安装postgres并允许,新建数据库名为sonar的数据库
Docker安装postgres教程
docker run -d --name sonarqube --restart=always \
-p 19000:9000 \
-e sonar.jdbc.username=sonar \
-e sonar.jdbc.password=sonar \
-e sonar.jdbc.url=jdbc:postgresql://<IP>:15432/sonar \
-v /data/sonarqube/extensions:/opt/sonarqube/extensions \
-v /data/sonarqube/data:/opt/sonarqube/data \
sonarqube:9.1.0-community
二,检查是否运行成功
如果运行失败
#查看日志
docker logs -f sonarqube
如果报错信息如上
1、检查系统vm.max_map_count设置值
sysctl -a | grep vm.max_map_count
#如果显示为vm.max_map_count = 65536
#修改
sysctl -w vm.max_map_count=262144
#再次查看是否为vm.max_map_count = 262144
sysctl -a | grep vm.max_map_count
#重尝试启动启Sonarqube
docker start sonarqube
#docker ps 查看是否运行成功
docker ps
三,登录并安装中文插件
输入ip:19000进入主界面
登陆后修改密码,随后安装中文插件,如图是汉化后的
但是不出意外的话下载时会报错,查看日志会发现是连接超时,这时需要手动下载并上传到Sonar容器
中文插件下载地址https://github.com/xuhuisheng/sonar-l10n-zh/releases
根据下表找出对应的sonar版本所需要的汉化包
然后把Jar包上传到宿主机的某个文件目录下,我这边选的/home/
#通过docker cp 把jar包上传到sonar容器中
docker cp sonar-l10n-zh-plugin-9.1.jar sonarqube:/opt/sonarqube/extensions/plugins/
#如果报错没有/plugins/目录,就需要进入容器手动创建
docker exec -it sonarqube bash
mkdir -p /opt/sonarqube/extensions/plugins/
#退出容器后在执行
docker cp sonar-l10n-zh-plugin-9.1.jar sonarqube:/opt/sonarqube/extensions/plugins/
#检查是否拷贝成功
docker exec -it sonarqube bash
ls /opt/sonarqube/extensions/plugins/
#docker重启sonarqube
docker restart sonarqube
进入主界面查看是否汉化成功