Docker容器化安装SonarQube9.9

1.环境准备

1.1 版本信息

名称版本备注
Docker25.0.1当前2024-01-01最新版本
SonarQube9.9LTS社区版
Postgres159.9LTS支持最新版本

Prerequisites and overview (sonarsource.com)
在这里插入图片描述

1.2 系统设置

# Linux
1.vm.max_map_count大于或等于 524288
2.fs.file-max大于或等于 131072
3.运行 SonarQube 的用户可以打开至少 131072 个文件描述符
4.运行 SonarQube 的用户至少可以打开 8192 个线程

sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192

# 永久生效
vim /etc/sysctl.d/99-sysctl.conf
vm.max_map_count=524288
fs.file-max=131072
# 使其生效
sysctl -p

vim /etc/security/limits.conf
sonarqube   -   nofile   131072
sonarqube   -   nproc    8192

2.Docker环境安装

参考:CentOS7安装Docker

2.1 卸载旧版本

# 卸载旧版本docker或docker-engine和相关依赖包
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2 设置源

# 安装需要的包
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

# 设置镜像仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 上述方法默认是从国外的,不推荐

# 推荐使用国内的 
yum-config-manager \
	 --add-repo \
	 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

# 更新软件包索引
yum makecache fast

2.3 安装Docker

# 查询repo包含的Docker版本
yum list docker-ce --showduplicates | sort -r

# 安装最新版本 - 推荐安装最新的版本
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 或者指定版本安装
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 例如:yum install docker-ce-18.06.3.ce docker-ce-cli-18.06.3.ce containerd.io

2.4 设置阿里仓库

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://i8d2zxyn.mirror.aliyuncs.com"]
}

2.5 启动Docker

systemctl status docker		# 查看docker服务状态
systemctl start docker		# 启动docker服务
systemctl stop docker		# 关闭docker服务
systemctl enable docker		# 设置docker服务开机启动
systemctl is-enabled docker	# 查看docker服务是否设置开机启动

3.Docker Compose

运行:docker compose -f docker-compose-sonarqube.yml up -d

version: "3"
services:
  sonarqube:
    #image: sonarqube:lts-community
    image: sonarqube:9.9-community
	restart: always
    container_name: sonarqube
    depends_on:
      - postgresdb
    environment:
	  TZ: Asia/Shanghai
      SONAR_JDBC_URL: jdbc:postgresql://postgresdb:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/var/log/sonarqube/logs
	  - /etc/localtime:/etc/localtime:ro
    ports:
      - 9000:9000
  postgresdb:
    image: postgres:15
	restart: always
    container_name: postgres
	ports:
      - 5432:5432
    environment:
	  TZ: Asia/Shanghai
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
	  POSTGRES_DB: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data
	  - /etc/localtime:/etc/localtime:ro
volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgresql:
  postgresql_data:

在这里插入图片描述

在这里插入图片描述

4.登录

4.1 首页

http://192.168.120.19:9000/
用户名和密码默认为:admin/admin
登录后修改为:admin/admin123

在这里插入图片描述
在这里插入图片描述

4.2 安装插件

Administration - Marketplace - 选择插件进行安装:
插件名称工具介绍检索关键字
Chinese Pack汉化界面Chinese
ecoCode Python languagePython 静态代码分析Python
ecoCode Java languageJava 静态代码分析Java
ecoCode PHP languagePHP 静态代码分析PHP
ecoCode JavaScript pluginJavaScript 静态代码分析JavaScript
Findbugs为Java项目的分析提供Findbugs规则Findbugs

在这里插入图片描述

5.制作镜像离线安装

1.开发环境中往往只在内网开发,对SonarQube工具的使用也是在内网,
  内网无法连接到互联网,所以需要把以上镜像在外网安装完毕插件等;
2.打包完毕镜像之后,传输到内网,在内网启动镜像;
3.把在外网下载的插件,也一并拷贝到内网,放在插件目录extensions/plugins下,
  然后重启SonarQube容器服务即可使用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@TangXin

路漫漫其修远兮,吾将上下而求索

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值