Docker搭建SonarQube服务 - Linux
本文介绍如何在Linux服务器上使用docker简便并快速的搭建SonarQube服务。
参考文档:
Prerequisites and Overview|SonarQube Docs
Installing SonarQube from the Docker Image | SonarQube Docs
本文使用的镜像版本:
docker.io/postgres:12-alpine - sonarqube数据存储服务镜像
docker.io/sonarqube:8.9.0-community - sonarqube的社区版镜像
先决条件:
运行SonarQube的唯一先决条件是在计算机上安装Java(Oracle JRE 11或OpenJDK 11)。
安装jdk11
yum install java-11-openjdk
硬件要求
- SonarQube 服务器的小规模(个人或小型团队)实例至少需要 2GB 的 RAM 才能高效运行,并且需要 1GB 的可用 RAM 用于操作系统。如果您要为大型团队或企业安装实例,请考虑以下其他建议。
- 您需要的磁盘空间量将取决于您使用 SonarQube 分析的代码量。
- SonarQube必须安装在具有出色读写性能的硬盘驱动器上。最重要的是,“data”文件夹包含Elasticsearch索引,当服务器启动并运行时,将在其上完成大量的I / O。因此,出色的读写硬盘性能将对SonarQube服务器的整体性能产生重大影响。
- SonarQube 不支持服务器端的 32 位系统。但是,SonarQube确实在扫描仪端支持32位系统。
Docker-compose安装Sonar服务
Linux安装docker与docker-compose-plugin
yum install docker # 安装docker
yum install docker-compose-plugin # 安装docker-compose-plugin
docker-compose version
如果dokcer-compose-plugin安装完成后,提示docker-compose命令不存在,需要查找插件安装的位置,然后创建软连接/usr/bin/docker-compose
示例:ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
Install the Compose plugin | Docker Docs
创建docker-compose.yml
文件内容如下:
version: "3"
services:
sonarqube:
image: sonarqube:8.9.0-community
container_name: sonarqube-8.9
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://postgres-12:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- /opt/sonarqube/extensions:/opt/sonarqube/extensions
- /opt/sonarqube/logs:/opt/sonarqube/logs
- /opt/sonarqube/conf:/opt/sonarqube/conf
ports:
- "9000:9000"
db:
image: postgres:12-alpine
container_name: postgres-12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql_data:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
sonarqube_data:
postgresql_data:
创建并启动容器
docker-compose -f docker-compose.yml up -d
参考命令
启动服务
docker-compose -f docker-compose.yml start
停止服务
docker-compose -f docker-compose.yml stop
重启服务
docker-compose -f docker-compose.yml restart
首次登录sonar服务用户名和密码:admin/admin。强制需要修改密码。
安装汉化插件
在线安装
管理员登录soanr服务,导航到配置>应用市场>插件 ,搜索Chinese ,找到Chinese Pack,点击右侧安装按钮进行在线安装,在线安装会比较慢,安装完成需要重启项目。
线下安装
也可以选择线下手动安装。点击首页链接,进入github项目页面,点击Release,搜索对应的版本进行下载。
下载完成后,讲文件上传到服务器,放到容器内的/opt/sonarqube/extensions/plugins
目录下,然后重启服务。
docker-compose.yml文件中,将容器的/opt/sonarqube/extensions
目录挂载的宿主机的/opt/sonarqube/extensions
目录,所以将插件jar包放到宿主机的/opt/sonarqube/extensions/plugins
即可。