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腾讯 ...
随机推荐
- Luogu P10179 水影若深蓝 题解 [ 绿 ] [ 并查集 ] [ 构造 ]
水影若深蓝:挺好的一道并查集构造题. 观察 不难发现"距离为 \(2\)"这个条件我们可以通过黑白染色实现,我们把他们的中转点染成与他们相反的颜色,把这两个距离为 \(2\) 的点 ...
- Java学习记录01
营销核心 营销核心是让利,外围是怎么去让利,三环是公共平台 策略模式学习 意图:定义一系列方法将其封装,并且相互可以替代 目的:解决if-else带来的复杂性和难以维护性 关键实现:多个方法类实现同一 ...
- QStringListModel的使用
主要为 :添加.插入.修改.删除.清空等操作 例子:本例子中QListView 没有做任何处理,只是拖放至ui文件,设置了布局 MainWindow.h #ifndef MAINWINDOW_H #d ...
- Sqoop - [01] 概述
将关系型数据库(Oracle.MySQL.PG等)数据与Hadoop数据进行转换的工具. 一.Sqoop1和Sqoop2的区别 Sqoop1由client端直接接入Hadoop,任务通过解析生成对应的 ...
- Chrome打开知乎报ERR_HTTP2_PROTOCOL_ERROR错误的问题
打开 chrome://flags/ 页面 找到 Block insecure private network requests. 和 Enable Trust Tokens 两项 将其值从 Defa ...
- idea社区版配置springboot项目问题分析及处理
前言 记录一次使用IDEA社区版配置SpringBoot项目的经历,包括遇到的问题及解决过程 IDEA版本:IntelliJ IDEA 2024.2.3 (Community Edition) 问题描 ...
- 【插件介绍】Mesh2Geom插件
Mesh to Geometry Plugin,来自达索官方论坛社区 原帖链接:Mesh to Geometry Plugin plugin feature: 允许Abaqus 用户从网格文件生成几何 ...
- Cannot find config.m4. phpize 安装扩展出错
原因 编译扩展包下面的名字可能不是 config.m4,也有可能有类似 config0.m4 的文件:因此名字不一样也是找不到的,我们需要用 mv config0.m4 config.m4 :修改文件 ...
- ubuntu网络连接失败
首先要保证pc上可以连接上网络,然后进行下面的操作: 1.首先选择VMware的编辑选项 2.选择虚拟网络编辑器 3.还原默认设置,等待几分钟,确定就可以解决了
- Nginx 之fastcgi常用配置项说明
在LNMP环境中,我们都知道nginx如果要解析php脚本语言,就必须通过配置fastcgi模块来提供对php支持,那么在配置fastcgi的时候,关于fastcgi配置项的值应该怎么设置才能让其发挥 ...