Sonarquber-docker安装教程
安装准备
本文安装 Sonarqube是基于docker-compose的安装教程,安装 Sonarqube前需安装docker和docker-compose
环境准备
因为sonarqube采用elasticsearch作为检索后台服务,在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量
如果想查看和修改相关配置,参考linux中/etc/security/limits.conf配置文件说明
如果已改过可以不用改了
# 创建容器映射路径
sudo mkdir -p /home/sonar/postgres/{postgresql,data}
sudo mkdir -p /home/sonar/sonarqube/{extensions,logs,data,conf}
sudo chmod -R 777 /home/sonar/* # 启动容器映射路径权限问题
# 拉取docker 镜像,拉取镜像较慢,可以使用阿里云镜像站或者清华大学镜像站。
docker pull postgres:12.3
docker pull sonarqube:7.9.2-community
# 编辑docker-compose.yml文件
version: '3'
services:
postgres:
image: postgres:12.3
restart: always
container_name: postgres
ports:
- 5432:5432
volumes:
- /home/sonar/postgres/postgresql:/var/lib/postgresql
- /home/sonar/postgres/data:/var/lib/postgresql/data
- /etc/localtime:/etc/localtime:ro
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
POSTGRES_DB: sonar
sonar:
image: sonarqube:7.9.2-community
container_name: sonar
depends_on:
- postgres
volumes:
- /home/sonar/sonarqube/extensions:/opt/sonarqube/extensions
- /home/sonar/sonarqube/logs:/opt/sonarqube/logs
- /home/sonar/sonarqube/data:/opt/sonarqube/data
- /home/sonar/sonarqube/conf:/opt/sonarqube/conf
# 设置与宿主机时间同步
- /etc/localtime:/etc/localtime:ro
ports:
- 59000:9000
command:
# 内存设置
- -Dsonar.ce.javaOpts=-Xmx2048m
- -Dsonar.web.javaOpts=-Xmx2048m
# 设置服务代理路径
- -Dsonar.web.context=/
# 此设置用于集成gitlab时,回调地址设置
- -Dsonar.core.serverBaseURL=https://sonarqube.example.com
environment:
TZ: Asia/Shanghai
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
服务部署
# -d 服务后台运行
docker-compose up -d
查看容器运行情况
$ sudo docker-compose -f docker-compose.yml ps
Name Command State Ports
---------------------------------------------------------------------------
postgres docker-entrypoint.sh postgres Up 0.0.0.0:5432->5432/tcp
sonar ./bin/run.sh -Dsonar.ce.ja ... Up 0.0.0.0:9000->9000/tcp
浏览器输入http://ip:9000,ip为sonar服务器ip,账号密码为:admin/admin
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-07-22 java多线程总结-同步容器与并发容器的对比与介绍
2019-07-22 java多线程总结-线程池
2019-07-22 java多线程总结-同步之ReentrantLock
2019-07-22 java多线程总结-同步之volatile关键字
2019-07-22 java多线程总结-同步之synchronized关键字