Docker容器化安装SonarQube9.9

文章目录

  • 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 -pvim /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-communityimage: sonarqube:9.9-communityrestart: alwayscontainer_name: sonarqubedepends_on:- postgresdbenvironment:TZ: Asia/ShanghaiSONAR_JDBC_URL: jdbc:postgresql://postgresdb:5432/sonarSONAR_JDBC_USERNAME: sonarSONAR_JDBC_PASSWORD: sonarvolumes:- sonarqube_data:/opt/sonarqube/data- sonarqube_extensions:/opt/sonarqube/extensions- sonarqube_logs:/var/log/sonarqube/logs- /etc/localtime:/etc/localtime:roports:- 9000:9000postgresdb:image: postgres:15restart: alwayscontainer_name: postgresports:- 5432:5432environment:TZ: Asia/ShanghaiPOSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarPOSTGRES_DB: sonarvolumes:- 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.mzph.cn/news/661836.shtml

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

相关文章

《C程序设计》上机实验报告(五)之一维数组二维数组与字符数组

实验内容&#xff1a; 1.运行程序 #include <stdio.h> void main( ) { int i,j,iRow0,iCol0,m; int x[3][4]{{1,11,22,33},{2,28,98,38},{3,85,20,89}}; mx[0][0]; for(i0;i<3;i) for(j0;j<4;j) if (x[i][j]>m) { mx[i][j]; iRowi…

Elasticsearch:将文档级安全性 (DLS) 添加到你的内部知识搜索

作者&#xff1a;来自 Elastic Sean Story 你的企业很可能淹没在内部数据中。 你拥有问题跟踪、笔记记录、会议记录、维基页面、视频录制、聊天以及即时消息和私信。 并且不要忘记电子邮件&#xff01; 难怪如此多的企业都在尝试创造工作场所搜索体验 - 为员工提供集中、一站…

react 之 UseReducer

UseReducer作用: 让 React 管理多个相对关联的状态数据 import { useReducer } from react// 1. 定义reducer函数&#xff0c;根据不同的action返回不同的新状态 function reducer(state, action) {switch (action.type) {case INC:return state 1case DEC:return state - 1de…

【飞书小技巧】——飞书文档转 markdown 详细教程

飞书文档转 markdown 详细教程 基于项目:https://github.com/Wsine/feishu2md 如何使用 在线版 访问 https://feishu2md.onrender.com/ 粘贴文档链接即可&#xff0c;文档链接可以通过 分享 > 开启链接分享 > 复制链接 获得。 点击下载之后,会提示 Please wait. It ma…

2024/2/1学习记录

echarts 为柱条添加背景色&#xff1a; 若想设置折线图的点的样式&#xff0c;设置 series.itemStyle 指定填充颜色就好了&#xff0c;设置线的样式设置 lineStyle 就好了。 在折线图中倘若要设置空数据&#xff0c;用 - 表示即可&#xff0c;这对于其他系列的数据也是 适用的…

【C/C++】C/C++编程——整型(二)

在 C 中&#xff0c;整型数据可以分为有符号数&#xff08;Signed&#xff09;和无符号数&#xff08;Unsigned&#xff09;&#xff0c;这两种类型主要用于表示整数值&#xff0c;但它们在表示范围和用途方面有所不同。默认情况下&#xff0c;整数类型如 int、short、long 都是…

中科大计网学习记录笔记(三):接入网和物理媒体

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

开发中常用的数据结构

在软件开发中&#xff0c;常用的数据结构具有各自的场景和应用。以下是一些常见的数据结构、它们的应用场景以及相应的代码示例&#xff1a; 数组&#xff08;Array&#xff09;: 场景&#xff1a;用于存储一组相同类型的元素&#xff0c;通过索引访问元素。例子&#xff1a;le…

深度学习如何入门?

深度学习是一个广泛而深入的领域&#xff0c;入门可能看起来有些令人望而却步。然而&#xff0c;通过有条理地学习基础知识和逐步实践&#xff0c;您可以有效地掌握深度学习。以下是入门深度学习的建议步骤&#xff1a; 1. 强化基础知识 数学基础&#xff1a;深入学习线性代数…

Shell - 学习笔记 - 2.8 - Shell字符串详解

字符串&#xff08;String&#xff09;就是一系列字符的组合。字符串是 Shell 编程中最常用的数据类型之一&#xff08;除了数字和字符串&#xff0c;也没有其他类型了&#xff09;。 字符串可以由单引号 包围&#xff0c;也可以由双引号" "包围&#xff0c;也可以不…

学术名词积累和解释(机器人感知,运动规划,控制领域)——那些没人告诉你的专用名词

背景和初衷&#xff1a; 刚入门的学术小白们在阅读文献的过程中&#xff0c;总会遇到一些默生涩难懂但是通用的学术名词。例如什么 proactive and reactive, nonholonomic and holonomic 。 这里为了方便大家&#xff0c;总结和解释自己阅读学术文章过程中遇到的机器人领域的相…

2024-02-01 思考-关于商业思维和技术实现之间的关系

摘要: 最近在持续的进行商业推动&#xff0c;对于商业行为之下&#xff0c;与技术实现之间的关系&#xff0c;有了更为深刻的认知。 本文做下简单的记录。 商业思维: 什么是商业思维&#xff1f;很有意思的问题&#xff0c;好像除了商业思维&#xff0c;还有一堆其他迥然相反…

基于tidevice实现iOS app自动化使用详解

目录 1、IOS自动化工具概述 2、tidevice工具的原理和使用 2.1、tidevice的原理 2.2、tidevice实现的功能 2.3、tidevice的安装 2.4、tidevice的使用 2.4.1、设备管理 1、查看已连接的设备的列表 2、检测设备连接状态 3、等待设备连接&#xff0c;只要有就连接就结束监…

滑动一整屏

需求&#xff1a;用户通过鼠标滚轮滑动的时候一整屏进行翻页。 参考网站效果 微派网络 实现思路&#xff1a; 1.首先我们需获取可视区域的高度 document.documentElement.clientHeight; 2.根据动态设置top属性即可进行翻页。 3.需判断上滑还是下滑 根据onmousewheel滚轮事…

2024-01-06-AI 大模型全栈工程师 - 如何训练百亿参数大模型

摘要 2024-01-06 周六 杭州 晴 本节内容: 讲座模式&#xff0c;学习大模型训练的相关流程。 课程内容 1. Transformer 回顾 2. 模型架构-生成式 3. 预训练数据的构建 4. 中文字典的构建 4. 预训练目标的构建 5. 预训练相关-预训练策略 6. 预训练相关-并行化训练 7. 预训练…

2024/2/1 备战蓝桥杯 3-3 二叉树

目录 二叉树的遍历 B3642 二叉树的遍历 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 完全二叉树的权值 0完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 美国血统 American Heritage P1827 [USACO3.4] 美国血统 American Heritage - 洛谷 | 计算机科学教育新生态 (luogu.c…

搭建高效企业培训平台:教育系统源码开发详解

为了更好地满足企业培训的需求&#xff0c;许多组织纷纷转向数字化教育&#xff0c;搭建高效的企业培训平台成为当务之急。本篇文章&#xff0c;小编将为您讲解教育系统源码的开发细节&#xff0c;为搭建一个功能强大、灵活高效的企业培训平台提供详尽的指南。 一、教育系统的…

Django响应(一)

一、HttpResponse与JsonResponse 1.1、HttpResponse 官网:https://docs.djangoproject.com/zh-hans/4.1/ref/request-response/#django.http.HttpResponse 返回给浏览器端的响应对象 from django.http import HttpResponse response = HttpResponse("Heres the text o…

程序的内存模型

师从黑马程序员 内存分区模型 内存大方向划分为4个区域 1、代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统管理的 2、全局区&#xff1a;存放全局变量环和静态变量以及常量 3、栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数值&#…

代码随想录算法训练营第三十六天|509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数 public static int fib(int n) {// 找出最后一步// 定义损失函数 定义记忆化存储基本单元// 状态转移方程 f(n) f(n-2)f(n-1); n > 0// 边界 (递归过程中需要判断)// 初始化 (在未递归之前需要处理)// 返回答案if (n 0) {return 0;}if (n 1) {return 1;…