Docker运行sonarqube-(代码质量检测平台)

sonarqube是什么

SonarQube是用于持续检查代码质量的开源平台。
可用于持续集成,持续部署流程中的代码检测环节。
idea和jenkins都提供了插件配合使用。

liunx推荐配置环境

liunx环境配置不合适的话,启动时会报错!
我后面的一个启动时报错就是没有达到要求的配置导致的。

sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096

docker-compose.yml


version: '3.1'
services:
 db:
  image: postgres
  container_name: postgres
  restart: always
 db:
  image: postgres
  container_name: postgres
  restart: always
  ports:
   - 5432:5432
  environment:
   POSTGRES_USER: postgres
   POSTGRES_PASSWORD: 123456
   POSTGRES_DB: sonar
   PGDATA: /var/lib/postgresql/data/pgdata
  volumes:
   - /usr/local/docker/postgre/data:/var/lib/postgresql/data/pgdata
 sonarqube:
  image: sonarqube
  container_name: sonarqube
  restart: always
  ports:
   - 8007:9000
  environment:
   sonar.jdbc.username: postgres
   sonar.jdbc.password: 123456
   sonar.jdbc.url: jdbc:postgresql://db:5432/sonar
  links:
   - db
  volumes:
   - /usr/local/docker/sonarqube/conf:/opt/sonarqube/conf
   - /usr/local/docker/sonarqube/extensions:/opt/sonarqube/extensions
   - /usr/local/docker/sonarqube/logs:/opt/sonarqube/logs
   - /usr/local/docker/sonarqube/data:/opt/sonarqube/data


首先部署PostgreSQL数据,也可以使用其他数据库。默认情况下,映像将使用不适合生产的嵌入式H2数据库。
H2是一个内存数据库,重启后数据就没有了。
推荐使用其他数据库。

配置说明

环境变量配置:
sonar.jdbc.username : 数据库账号
sonar.jdbc.password : 数据库密码
sonar.jdbc.url: jdbc : 数据库连接驱动
映射配置:
/opt/sonarqube/conf : 配置文件,例如 sonar.properties
/opt/sonarqube/data:数据文件,例如嵌入式H2数据库和Elasticsearch索引
/opt/sonarqube/logs:包含有关访问,Web进程,CE进程,Elasticsearch日志的SonarQube日志
/opt/sonarqube/extensions:插件,例如语言分析器 经提供了支持的数据库(Oracle除外)的驱动程序。不要更换提供的驱动程序;他们是唯一受支持的。对于Oracle,请将JDBC驱动程序复制到中$SONARQUBE_HOME/extensions/jdbc-driver/oracle。

遇到的问题1

docker-compose up -d

启动时报错:

Docker运行sonarqube-(代码质量检测平台)_第1张图片

解决方案

赋权限:

chmod -R 777 /usr/local/docker/sonarqube

遇到的问题2

启动时报错:

360截图18430709112453.png

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案

切换到root用户

执行命令:
sysctl -w vm.max_map_count=262144

查看结果:
sysctl -a|grep vm.max_map_count

显示:
vm.max_map_count = 262144

上述方法修改之后,如果重启虚拟机将失效,所以:

解决办法:
在 /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

即可永久修改

输入地址

Docker运行sonarqube-(代码质量检测平台)_第2张图片

成功!

个人微信公众,经常更新一些实用的干货:
image.png

你可能感兴趣的:(docker-compose,docker)