当前位置: 代码迷 >> 综合 >> SonarQube---Docker-compose-CentOS
  详细解决方案

SonarQube---Docker-compose-CentOS

热度:36   发布时间:2023-11-24 04:58:21.0

1、安装

sonar7.8以后不再支持mysql

  • 环境准备

由于SonarQube使用嵌入式Elasticsearch,因此请确保您的Docker主机配置符合Elasticsearch生产模式,以root用户身份运行以下命令来设置当前会话的建议值:

# 修改系统最大连接数
sysctl -w vm.max_map_count=262144
# 修改系统所有进程一共可以打开的文件数量
sysctl -w fs.file-max=65536
# 设置能打开的最大文件描述符数
ulimit -n 65536
# 设置限制最大用户进程数
ulimit -u 4096
  • docker-compose.yml文件
version: '3.7'
services:postgres:restart: alwaysimage: postgrescontainer_name: postgresports:- 5432:5432environment:TZ: Asia/ShanghaiPOSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarPOSTGRES_DB: sonarvolumes:- /opt/docker_volumes/postgres/data:/home/data/- /opt/docker_volumes/postgres/postgresql:/var/lib/postgresqlsonarqube:restart: alwaysimage: sonarqubecontainer_name: sonarqubeports:- 9000:9000depends_on:- postgrescommand:- -Dsonar.ce.javaOpts=-Xmx512m- -Dsonar.web.javaOpts=-Xmx512mvolumes:- /opt/docker_volumes/sonarqube/elasticsearch/config:/opt/sonarqube/elasticsearch/config- /opt/docker_volumes/sonarqube/elasticsearch/config/elasticsearch.yml:/opt/sonarqube/elasticsearch/config/elasticsearch.yml- /opt/docker_volumes/sonarqube/conf:/opt/sonarqube/conf- /opt/docker_volumes/sonarqube/data:/opt/sonarqube/data- /opt/docker_volumes/sonarqube/logs:/opt/sonarqube/logs- /opt/docker_volumes/sonarqube/extensions:/opt/sonarqube/extensions# 设置和宿主机时区、时间一致- /etc/localtime:/etc/localtime:roenvironment:SONARQUBE_JDBC_USERNAME: sonarSONARQUBE_JDBC_PASSWORD: sonarSONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar

启动数据库可能会有警告:

WARNING: IPv4 forwarding is disabled. Networking will not work.

是因为IPv4的路由转发没开

解决:

# 在宿主机上执行
echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
# 重启network和docker服务
systemctl restart network && systemctl restart docker

配置

  • cp过来配置文件
docker cp f0:/opt/sonarqube/conf/wrapper.conf /opt/docker_volumes/sonarqube/conf/wrapper.conf
docker cp f0:/opt/sonarqube/conf/sonar.properties /opt/docker_volumes/sonarqube/conf/sonar.properties
docker cp f0:/opt/sonarqube/elasticsearch/config/elasticsearch.yml/opt/sonarqube/elasticsearch/config/elasticsearch.yml
  • 修改映射过来的elasticsearch.yml配置文件
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
network.host: 0.0.0.0
  • 开启登录访问权限

上方菜单栏配置-左侧菜单栏权限 开启强制用户认证

  • 安装简体中文包

Administration(配置) – Marketplcae(应用市场) –搜索Chinese Pack并Restart

  • 更新插件

切记:更新和安装时不要关闭浏览器和重启SonarQube,否则会导致无法启动SonarQube

  相关解决方案