Docker容器化安装SonarQube9.9

news2024/11/28 8:48:01

文章目录

  • 1.环境准备
    • 1.1 版本信息
    • 1.2 系统设置
  • 2.Docker环境安装
    • 2.1 卸载旧版本
    • 2.2 设置源
    • 2.3 安装Docker
    • 2.4 设置阿里仓库
    • 2.5 启动Docker
  • 3.Docker Compose
  • 4.登录
    • 4.1 首页
    • 4.2 安装插件
  • 5.制作镜像离线安装

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容器服务即可使用;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1425528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【设计模式】六大原则详解,每个原则提供代码示例

设计模式六大原则 目录 一、单一职责原则——SRP 1、作用2、基本要点3、举例 二、开放封闭原则——OCP 1、作用2、基本要点3、举例 三、里氏替换原则——LSP 1、作用2、基本要点3、举例 四、依赖倒置原则——DLP 1、作用2、基本要点3、举例 五、迪米特法则——LoD 1、作用2、…

Arcgis10.3安装

所需软件地址 链接&#xff1a;https://pan.baidu.com/s/1aAykUDjkaXjdwFjDvAR83Q?pwdbs2i 提取码&#xff1a;bs2i 1、安装License Manager 点击License Manager.exe&#xff0c;默认下一步。 安装完&#xff0c;点击License Server Administrator&#xff0c;停止服务。…

Java基础 集合(二)List详解

目录 简介 数组与集合的区别如下&#xff1a; 介绍 AbstractList 和 AbstractSequentialList Vector 替代方案 Stack ArrayList LinkedList 前言-与正文无关 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界…

IT行业中最重要的证书

在IT行业&#xff0c;拥有一些含金量较高的证书是职业发展的关键。这些证书不仅可以证明技能水平&#xff0c;还有助于提升在职场上的竞争力。本文将介绍几个IT行业中最重要的证书。 1. Cisco认证 CCNA&#xff08;Cisco Certified Network Associate&#xff09;是Cisco公司新…

ArcGIS学习(二)属性表的基本操作

ArcGIS学习(二)属性表的基本操作 1.查看属性表 ArcGIS是处理空间数据的平台。对于空间数据,大家可以理解成它是由两个部分构成:1.一个是空间形体,也就是点、线、面三种。线又可以分为直线、曲线,面又分为圆形、正方形、不规则形体等;2.另外一个部分是空间形体所附带的…

【深蓝学院】移动机器人运动规划--第3章 基于采样的路径规划--笔记

0. Preliminaries 做规划都是将WS转到C space下进行。 找到可行解和最优解&#xff08;这两个不同&#xff09; 通过增量或者批次地在C-space中采样来增量式地构建树或者图。 不显式地构造 如果把整个规划问题看成一个大的优化问题&#xff0c;那么大问题可以拆分成小问题进行…

09. 异常处理

目录 1、前言 2、常见的异常 3、异常处理try...except...finally 4、异常信息解读 5、raise 6、自定义异常 7、小结 1、前言 在编程中&#xff0c;异常&#xff08;Exception&#xff09;是程序在运行期间检测到的错误或异常状况。当程序执行过程中发生了一些无法继续执…

Monday.com替代工具大盘点:哪个更适合您的团队协作需求?

市场上有许多项目管理软件解决方案&#xff0c;每个都有自己的优点和缺点&#xff0c;根据您的具体需求和要求&#xff0c;市场上有8种可用的项目管理软件可以作为Monday.com的替代工具&#xff0c;分别是&#xff1a;Zoho Projects、Trello、Asana、Wrike、Basecamp、JIRA、Mi…

Hadoop-生产调优(更新中)

第1章 HDFS-核心参数 1.1 NameNode内存生产配置 1&#xff09;NameNode 内存计算 每个文件块大概占用 150 byte&#xff0c;一台服务器 128G 内存为例&#xff0c;能存储多少文件块呢&#xff1f; 128 * 1024 * 1024 * 1024 / 150byte ≈ 9.1 亿G MB KB Byte 2&#xff09…

【Redis】签到点赞和UV统计

Redis签到点赞和UV统计 点赞 点赞功能分析 需求&#xff1a; 同一个用户只能点赞一次&#xff0c;再次点击则取消点赞如果当前用户已经点赞&#xff0c;则点赞按钮高亮显示&#xff08;前端判断字段isLike属性&#xff09; 实现步骤&#xff1a; 利用Redis的set集合判断是…

安科瑞光伏、储能一体化监控及运维解决方案

上海安科瑞电气股份有限公司 胡冠楠 咨询家&#xff1a;“Acrelhgn”&#xff0c;了解更多产品资讯 前言 今年以来&#xff0c;在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速&#xff0c;装机容量均大幅度增长&#xff0c;新能源发电已经成为新…

Nicn的刷题日常之带空格直角三角形图案

1.题目描述 描述 KiKi学习了循环&#xff0c;BoBo老师给他出了一系列打印图案的练习&#xff0c;该任务是打印用“*”组成的带空格直角三角形图案。 输入描述&#xff1a; 多组输入&#xff0c;一个整数&#xff08;2~20&#xff09;&#xff0c;表示直角三角形直角边的长度&am…

STM32F407移植OpenHarmony笔记7

继上一篇笔记&#xff0c;成功启动了liteos_m内核&#xff0c;可以创建线程了&#xff0c;也能看到shell控制台了。 今天研究文件系统&#xff0c;让控制台相关文件命令如mkdir和ls能工作。 liteos_m内核支持fatfs和littlefs两个文件系统&#xff0c; fatfs适用于SD卡&#xff…

【Tomcat与网络6】 Tomcat是如何扩展Java线程池的?

目录 1.Java 的线程池 2.Tomcat 的线程池 学习Tomcat的时候&#xff0c;有很多绚丽的技术值得我们学习&#xff0c;但是个人认为Tomcat的线程池扩展是最值得研究的一个部分&#xff0c;线程池的应用太广了&#xff0c;也重要了&#xff0c;Java原生线程池的特征我相信很多人都…

【Redis】一文搞懂redis的所有知识点

目录 1. 什么是Redis&#xff1f;它主要用来什么的&#xff1f; 2.说说Redis的基本数据结构类型 2.1 Redis 的五种基本数据类型​编辑 2.2 Redis 的三种特殊数据类型 3. Redis为什么这么快&#xff1f;​编辑 3.1 基于内存存储实现 3.2 高效的数据结构 3.3 合理的数据编…

Python 中常用图像数据结构

&#xff08;原文&#xff1a;https://blog.iyatt.com/?p13222 &#xff09; 1 测试环境 Python 3.12.1 numpy 1.26.3 opencv-python 4.9.0.80 pillow 10.2.0 matplotlib 3.8.2 注&#xff1a; 基于 2022.1.16 和 2022.4.9 的三篇博文再次验证并重写&#xff0c;原文已删…

嵌入式学习第十五天

内存管理: 1.malloc void *malloc(size_t size); 功能: 申请堆区空间 参数: size:申请堆区空间的大小 返回值: 返回获得的空间的首地址 失败返回NULL 2.free void free(void *ptr); 功能: 释放堆区空间 注…

复刻桌面小电视【包含代码分析】

宗旨&#xff1a;开源、分享、学习、进步&#xff0c;生命不息&#xff0c;折腾不止。 复刻小电视 感谢各位大佬的开源项目&#xff0c;让我有了学习的机会&#xff0c;如果侵权&#xff0c;请联系我删除。本人能力有限&#xff0c;如果有什么不对的地方&#xff0c;欢迎指正…

Vue3-Composition-API(二)

一、computed函数使用 1.computed 在前面我们讲解过计算属性computed&#xff1a;当我们的某些属性是依赖其他状态时&#xff0c;我们可以使用计算属性来处理 在前面的Options API中&#xff0c;我们是使用computed选项来完成的&#xff1b; 在Composition API中&#xff0c…

《C程序设计》上机实验报告(四)之一维数组

1.运行程序 #include <stdio.h> void main( ) { int a[5],i,j; for(i1;i<5;i) a[i]0; for(i1;i<5;i) for(j1;j<5;j) a[j]a[i]1; printf("%d %d\n",a[0],a[3]); } 要求&#xff1a; &#xff08;1&#xff09;输入并调试上述源程序&#xff0c;…