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

posted @ 2022-07-22 10:11  狮子挽歌丿  阅读(639)  评论(0编辑  收藏  举报