3.安装SonarQube服务器
3.1镜像拉取

docker pull sonarqube:8.4.2-community    #下载速度较慢

3.2.创建容器实例

方式一:启动无需先配置好postgreSQL
docker run -id --name sonarqube \-p 9000:9000 \--restart=always \-v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \-v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \-v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \sonarqube:8.4.2-community方式二::必须先配置好postgreSQL,否则SonarQube启动时连接不到数据库会报错
docker run -id --name sonarqube \-p 9000:9000 \--restart=always \-e SONAR_JDBC_URL=jdbc:postgresql://192.168.10.48:54321/sonarqube? \-e SONAR_JDBC_USERNAME=postgres \-e SONAR_JDBC_PASSWORD=123456 \-v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \-v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \-v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \sonarqube:8.4.2-community#参数解释
-v 目录挂载:宿主机路径:Docker中路径
--name :容器的名称
--restart=always:随容器自启
-p 端口映射 :宿主机端口:容器端口
-di :-d 后台运行 -i 容器运行起来
sonarqube:8.4.2-community  指定容器的镜像名和所需版本:8.4.2-community
-e :Docker容器设置相关的环境变量#扩展
查看Docker容器环境变量:
docker exec -it <CONTAINER-NAME> OR <CONTAINER-ID> env
或者
docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
修改Docker容器环境变量:
docker run --env <key>=<value> <IMAGE-ID>   

此时可以通过访问[虚拟机ip:9000],查看sonarqube是否成功启动。如图:

*3.3.为Sonarqube添加数据库配置(注:若使用方式二创建的SonarQube,请忽略此步骤)
*3.3.1登录容器
docker exec -it sonarqube /bin/bash

*3.3.2编辑sonar.properties配置文件
vi /opt/sonarqube/conf/sonar.properties

增加如下数据库的配置
(数据库所在的ip为192.168.10.48,端口为54321,数据库名称可自定义,此处数据库名为sonarqube)

sonar.jdbc.url=jdbc:postgresql://192.168.10.48:54321/sonarqube?
sonar.jdbc.username=postgres
sonar.jdbc.password=123456

*3.3.3保存修改并退出

ESC:wq!

3.4修改系统配置文件
因sonarqube的启动对系统参数具有对应的要求,故需要修改系统的默认值
官方参数要求:Prerequisites and Overview | SonarQube Docs

设置方法如下:
方式一:以root权限临时设置(系统重启后无效)

sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192# 参数解释
sysctl vm.max_map_count    //一个进程可以拥有的VMA(虚拟内存区域)的数量上限
sysctl fs.file-max        //同时打开的文件数目上限
ulimit -n   //可以打开的文件描述符的上限
ulimit -u  //可以启动线程的数量上限

方式二:修改系统配置文件(永久设置) 推荐
(1)手动修改/etc/sysctl.conf 文件

vi /etc/sysctl.conf#在文件末尾,添加如下两个变量(如果查询的值大于官方的要求值,可以选择性设置)
vm.max_map_count=524288
fs.file-max=131072#让修改后的内核参数即刻生效
sysctl -p

(2)手动修改/etc/security/limits.conf文件

vim /etc/security/limits.conf
#在文件末尾,添加如下设置
* soft nofile 131072
* hard nofile 131072
* soft nproc 8192
* hard nproc 8192#参数说明:* 代表针对所有用户noproc 是代表最大进程数nofile 是代表最大文件打开数
#重启服务器,使limits.conf限制生效
reboot

备注:以上所设参数的值均为官方推荐值

按照上述设置后,可通过如下命令验证所设值是否生效

查看如下值:

sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u

修改上述值后,SonarQube容器随Docker重启后,会根据postgreSQL配置自动创建对应的表,如图所示

3.5安装插件
3.5.1直接在官网下载
admin登录---Adminstration--Marketplace---"Chinese Pack" ---install
下载安装完后,页面会提示重启sonarqube:点击"restart Server"即可使插件生效;

同理,安装其他的插件
eg:java,html,css,js.....
需要扫描对应的文件类型,就需要下载对应文件的插件(PluginsMarket中无法搜索java)
输入"java",搜索到的均为扩展分析报告,没有搜索到 SonarJava LANGUAGES

3.5.2直接使用本地下载好的插件(需要在创建容器实例的时候,进行目录挂载)推荐!!!
直接将已经存在的插件放到挂载的目录下
最直接的方式:直接在官网下载对应的安装包,其中就有Static code analysis for Java
官网下载链接:Download | SonarQube

下载后,直接解压,并将所需的plugins拖到宿主机挂载的目录下

使用命令,重启sonarqube

//重启sonarqube的Docker实例,让plugins生效
docker restart sonarqube

CentOs7中安装sonarQube服务系列------3.安装SonarQube服务器相关推荐

  1. CentOs7中安装sonarQube服务系列------2.安装postgresSql数据库

    2.安装postgresSql数据库 2.1拉取镜像: docker pull postgres:12 2.2创建并启动容器实例: docker run -di --name postgres \-- ...

  2. CentOs7中安装sonarQube服务系列------1.CentOS7中Docker的安装

    1.CentOS7中Docker的安装: 因国情原因,访问外网速度较慢,最好使用国内的镜像源.使用国内镜像安装Docker: (1)阿里镜像站: 更换镜像源:centos镜像-centos下载地址-c ...

  3. 基础服务系列-Hyper-V 安装centos7

    2019独角兽企业重金招聘Python工程师标准>>> 前言 docker for windows在Windows10 上安装,各种问题,打算放弃了... 问题1 可能是没有分配IP ...

  4. MySQL数据库介绍、安装(服务端软件安装、客户端软件安装(图形化界面客户端和命令行客户端))

    1. MySQL数据库的介绍 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System, ...

  5. linux8安装ftp服务,CentOS8.0 安装配置ftp服务器的实现方法

    CentOS8.0-1905发布后,尝试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防火墙中开放ftp服务后,仍然一直无法连接,如果使用lftp或ftp工具测试,会提示[没有到主机的 ...

  6. OpenStack pike版 安装openstack服务(4) 续安装openstack服务(3)

    Compute service overview 计算服务概述 OpenStack用于对主机的计算和管理云计算系统.OpenStack的计算是一个基础设施即服务(IaaS)系统的一个重要组成部分.主要 ...

  7. 无法从命令行或调试器启动服务,必须首先安装Windows服务....。在“安装”阶段发生异常。 System.Security.SecurityException:未找到源

    此处一共两个问题,第一个问题完整描述是: 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管 ...

  8. mysql安装卸载服务_windows下安装、卸载mysql服务的方法(mysql 5.6 zip解

    MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...

  9. centos7中部署nfs服务

    文章目录 1 NFS 简介 2 NFS 部署 2.1 服务端部署 2.1.1 安装 NFS和RPC 2.1.2 创建共享目录 /data/nfs ,并且属主和属组都为:nfsnobody,其中nfsn ...

最新文章

  1. 怎样加入� android private libraries 中的包的源码
  2. 【Matlab 控制】Simulink仿真+S函数例子
  3. brew改源无效问题之一
  4. .Net Core微服务系列--开篇
  5. 网络通信协议-TCP/IP模型实战
  6. jmeter找不到java.dll_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...
  7. win7为什么打开桌面上的计算机很卡很慢,如何解决win7系统电脑反应慢
  8. 整理 被appstore 拒绝审核通过的原因
  9. [理解] Linux 作为一个服务器是怎样的存在 (一)
  10. vs2017环境下编译log4cpp-1.1.3
  11. 免费的modelsim安装教程(Intel modelsim altera 的初学者)
  12. 飞鹅打印机远程打印订单
  13. 河南城建学院计算机学院排名,河南城建学院2019年度“读书之星”评选结果公示...
  14. Tiny 6410 K9GAG08U0E nand flash移植uboot
  15. Linux 创建oracle数据库
  16. 机器学习笔记之 K-NEAREST NEIGHBORS
  17. 关闭谷歌Chrome浏览器历史记录提示
  18. 新版正方教务网模拟登录python实现
  19. java 生成 checksum
  20. linux挂载硬盘下载电影,Windows上通过迅雷基于Samba往Pi3B上mount的移动硬盘下载电影...

热门文章

  1. 深度学习Deep Learning: dropout策略防止过拟合
  2. Machine Learning week 9 quiz: Recommender Systems
  3. 信息系统项目管理师-论文要求
  4. 30 天精通 RxJS (01):认识 RxJS
  5. 从零开始学数据结构和算法(二)线性表的链式存储结构
  6. ASP操作Excel技术总结
  7. Linux下 ln 命令详解
  8. MySQL中各种字段的取值范围
  9. 让用户更改自己的帐号
  10. [WPF]WPF中材质制作——图片和矢量图之争