docker部署SonarQube流程及相关问题汇总
环境说明:
sonarqube版本:10.4.1-community
PostgreSql版本:14.1
系统环境:centos7.6(x86_64)
部署流程
1、PostgreSql的安装部署
在docker中拉取最新版本镜像,命令如下:
docker pull postgres
镜像拉取成功后执行如下命令创建PostgreSql容器:
docker run --name postgres -e POSTGRES_PASSWORD=sonar123 -p 5432:5432 -v /home/zx/postgres/data:/var/lib/postgresql/data -d postgres
其中数据库用户名为:postgres,密码为:sonar123,端口为5432,挂载本地磁盘路径为:/home/zx/postgres/data,镜像名称为:postgres
创建成功后使用docker ps查看postgres容器是否正常启动,并通过数据库客户端工具进行连接验证。
2、创建sonar用户
连接数据库后执行如下SQL语句:
DROP DATABASE IF EXISTS sonarqube;
CREATE DATABASE sonarqube WITH ENCODING = 'UTF8';
CREATE USER sonarqube WITH PASSWORD 'sonarqube';
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;
GRANT ALL PRIVILEGES ON all tables in schema public TO sonarqube;
初始化PostgreSQL数据库,创建sonarqube数据库及用户,并关联授权,通过客户端可登录sonarqube数据库,如下图所示。
3、SonarQube安装部署
拉取SonarQube镜像,命令如下:
docker pull sonarqube:10.4.1-community
修改宿主机最大内存映射区域数
临时修改,系统重启后失效,命令如下:
sysctl -w vm.max_map_count=262144
永久修改,编辑 /etc/sysctl.conf 文件,添加 vm.max_map_count=262144,命令如下:
vi /etc/sysctl.conf
创新SonarQube容器,命令如下:
docker run -d --name sonarqube -p 9000:9000 \
-v /opt/sonarqube/data:/opt/sonarqube/data \
-v /opt/sonarqube/extensions:/opt/sonarqube/extensions \
-v /opt/sonarqube/logs:/opt/sonarqube/logs \
-v /opt/sonarqube/temp:/opt/sonarqube/temp \
-e SONAR_JDBC_URL="jdbc:postgresql://127.0.0.1:5432/sonarqube?useUnicode=true&characterEncoding=utf-8" \
-e SONAR_JDBC_USERNAME="sonarqube" \
-e SONAR_JDBC_PASSWORD="sonarqube" \
-e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
sonarqube:10.4.1-community
其中数据库ip建议改为宿主机ip,如果sonarqube容器启动失败,可执行以下命令查看日志:
docker logs -f -t --tail 200 sonarqube
本次部署遇到java.lang.IllegalArgumentException: Unable to create shared memory 等问题:
分析原因:查看文件权限发现之前使用root用户无法读取文件,可使用如下命令进行授权:
sudo chmod 777 /opt/sonarqube/*
再次重启sonarqube容器,容器正常,可通过http://ip:9000进行验证。
重启容器命令:
docker restart sonarqube
docker部署SonarQube流程及相关问题汇总的更多相关文章
- docker部署安装流程第一版
docker部署安装流程第一版 1.以Dockerfile的方式进行构建docker 以cloud 新联盟为例 dockerfile from hub.c.163.com/library/maven ...
- .Net之Docker部署详细流程
开篇语 自己从头开始走一遍docker部署.net的流程,作为一种学习总结,以及后续会写一些在该基础之上的文章. 本次示例环境:vs2019.net5.docker.postman 创建项目 本次事例 ...
- Docker部署SonarQube
依赖 CentOS 7.2+ docker 1.13+ docker-compose 1.20+ 将下面文件内容另存为docker-compose.yml文件,执行docker-compose up ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
- Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery
前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...
- docker部署Asp.net core应用
1 容器概念 使用Docker前我们首先要简单了解一下容器的概念.MSDN上有一张虚拟机和容器的对比图,很好的展示了虚拟机和容器的区别,如下所示,虚拟机包括应用程序.必需的库或二进制文件以及完整的来宾 ...
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- 笔记14:Docker 部署Python项目
Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...
- Ubuntu 16.04下使用docker部署ceph集群
ceph集群docker部署 通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的:假设你只有一台机器,装了linux(如Ubun ...
- 自动化测试平台环境docker部署
参考资料:testin云测 https://www.testin.cn接口自动化测试平台:http://120.79.232.23星云测试 http://www.threadingtest.com腾讯 ...
随机推荐
- Vue3 基础概念与环境搭建
前言 首先需要提醒大家的是,Vue2 已经在2023年停止维护,为了能更好地适应前端开发的发展趋势以及获得更好的性能和功能,我们将从这篇文章开始进入Vue3的阶段.如果对Vue2有想了解的小伙伴可以自 ...
- 洛谷B4038 [GESP202409 三级] 平衡序列 题解
原题传送门 前言 当我以一种十分激动的心情参加了GESP的2024-9的三级考试时. 打开了此题,然后--自以为是的拿着暴力一顿乱写!然后TLE. 直到结束我还是没有想出来! (太菜了!!!) 以一种 ...
- 大数据之路Week08_day02 (Flume架构介绍和安装)
Flume架构介绍和安装 写在前面在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中,也 ...
- 使用Express对mysql进行增改查操作(完全代码版本)
使用Express对mysql进行增改查操作(完全代码版本) 今天发的是Express对mysql进行增删改操作的所有代码,这个代码还没有完善好,都是一些基础的增删改查操作,有一些地方也写上了注释方便 ...
- 【ABAQUS 二次开发笔记】一次获得多个积分点的输出到dat
当使用shell单元进行composite laminate 建模时,可以为每一指定Intergration point 的个数,默认是3个.(abaqus有很多variable可以在intergra ...
- [Qt 基础-03] QRadioButton
QRadioButton基础 本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QRadioButton的功能以及使用 文章目录 QRadioButton基础 简介 autoExclusive ...
- 自行为一加6编译Postmarket os内核
序 在为自己的一加6刷上PostmarketOS后突然某一天想使用它的照相机功能.原因是想到使用pmos拍照后笔者可以直接使用scp指令来传输手机相片到自己运行着GNU/Linux的电脑上,就感到相对 ...
- python3 报错ModuleNotFoundError: No module named 'apt_pkg'
前言 apt update无法执行,python3 报错 ModuleNotFoundError: No module named 'apt_pkg' 这是因为将 python 版本升级后的问题 正确 ...
- linux测试url的访问速度
在Linux中,你可以使用curl命令来测试URL的访问速度.curl是一个强大的命令行工具,可以用于文件传输和测试网络连接. 以下是使用curl测试URL访问速度的步骤: 打开终端或命令行界面. 输 ...
- bug|Git Hooks pre-commit|git 提交代码报错|error: 'describe' 'it' 'expect' is not defined (no-undef)|pre-commit hook failed (add --no-verify to bypass)|
前言 今天学习 jest 的 vue-test-utils 的配置及使用. 报错原因为 jest 全局变量 git 提交代码报错,使用除了参考链接里的解决方案,正好复习一下之前学习的 Git Hook ...