Docker 下,搭建 SonarQube 环境

一、Docker安装本文使用的硬件环境:
macOS Catalina 版本:10.15.3
docker官方下载mac下的docker App,安装完成即可 。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化 。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iphone 的 app),更重要的是容器性能开销极低 。
Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统 。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统 。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体 。容器可以被创建、启动、停止、删除、暂停等 。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像 。

Docker 下,搭建 SonarQube 环境

文章插图
 
二、安装postgresql数据库1.1 终端命令中,拉取postgres镜像
docker pull postgres
Docker 下,搭建 SonarQube 环境

文章插图
 
1.2 运行镜像容器:
docker命令:
Docker 下,搭建 SonarQube 环境

文章插图
 
--name: 容器名称 此处为db
-e:使用值docker将名称为POSTGRES_PASSword,POSTGRES_USER的环境变量暴露给容器 。
POSTGRES_PASSWORD环境变量设置PostgreSQL的超级用户密码 。
您可以设置其他环境变量 。这些包括POSTGRES_USER和POSTGRES_DB 。
POSTGRES_USER设置超级用户名 。如果未提供,则超级用户名默认为postgres 。
POSTGRES_DB设置要设置的默认数据库的名称 。如果未提供,则默认为POSTGRES_USER的值 。
此处设置的为:数据库名为sonar,超级用户名为sonar,密码为sonar.
-d: 后台运行容器,并返回容器ID
执行效果:
Docker 下,搭建 SonarQube 环境

文章插图
 

Docker 下,搭建 SonarQube 环境

文章插图
 

Docker 下,搭建 SonarQube 环境

文章插图
 
如此简单安装好postgres数据库了 。
如果不用docker这玩意:
1、去官网下载一个最新版本的postgres(根据设备系统去下载)
2、根据平台去安装,不同系统上安装还会有一些不同的坑 。
3、使用pgAdmin连接postgres数据库,创建sonar用户,创建sonar数据库 。
这一顿操作得花半小时去了 。
使用docker下来,下载速度快的话,不要5分钟,game over.
三、安装SonarQube,并配置数据库连接2.1 下载sonarQube镜像:
docker命令:
docker pull sonarqube
2.2 启动sonar,并配置数据库为1中的postgres
docker命令:
Docker 下,搭建 SonarQube 环境

文章插图
 
--name:容器名称 此为处sonar
--link:与其它容器通信 。
【Docker 下,搭建 SonarQube 环境】--link 容器名称 此处为与名为db的容器,即postgres的数据库 。
添加了SONARQUBE_JDBC_URL环境变量为 jdbc:postgresql://容器名称:端口/数据库名称 (数据库连接驱动)
添加了SONARQUBE_JDBC_USERNAME环境变量为sonar(数据库连接用户名)
添加了SONARQUBE_JDBC_PASSWORD环境变量为sonar(数据库连接密码)
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
运行效果:
Docker 下,搭建 SonarQube 环境

文章插图
 

Docker 下,搭建 SonarQube 环境

文章插图
 
在浏览器当中,访问:http://localhost:9000
Docker 下,搭建 SonarQube 环境

文章插图
 
sonarqube能够正常访问之后,就可以开始扫描项目代码啦 。
扫描JAVA项目代码请参考:https://www.cnblogs.com/Simple-Small/p/12973208.html
Docker 下,搭建 SonarQube 环境

文章插图
 
说明:本文为柠檬班小简老师原创,转载需注明出处




    推荐阅读