docker-compose部署sonarqube全过程

 更新时间:2025年12月13日 14:20:01   作者:运维开发那些事  
本文介绍了如何使用docker-compose部署sonarqube,并详细说明了部署过程中需要注意的事项,包括数据库选择、插件安装等

为了简单高效地部署及管理sonar,决定采用docker-compose版本进行部署。亲测无坑,因为坑以及被我踩完了

1、部署

首先需要安装数据库,开源的可以用 mysql 或者 postgresql 。

官网上已经声明 sonarQube 7.9 版本以上不再支持 mysql 了,我们为了以后升级新版本不做数据库迁移,尽量使用 postgresql

可参考官方文档:

https://docs.sonarsource.com/sonarqube-community-build/

mkdir -p /opt/sonarqube/sonarqube/{logs,conf,data,extensions}
mkdir -p /opt/sonarqube/postgres/{postgresql,data}

vim /data/sonar/sonar-compose.yml

cat > /opt/sonarqube/docker-compose.yml <<EOF
version: '3'
services:
  postgres:
    image: postgres:12
    container_name: postgres
    restart: always
    privileged: true
    volumes:
      - ./postgres/postgresql:/var/lib/postgresql
      - ./postgres/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: sonar 
      POSTGRES_PASSWORD: sonar 
      POSTGRES_DB: sonar 
      TZ: Asia/Shanghai

  sonar:
    image: sonarqube:8.9.10-community
    container_name: sonar
    restart: always
    privileged: true
    depends_on:
      - postgres 
    volumes:
      - ./sonarqube/logs:/opt/sonarqube/logs
      - ./sonarqube/conf:/opt/sonarqube/conf
      - ./sonarqube/data:/opt/sonarqube/data
      - ./sonarqube/extensions:/opt/sonarqube/extensions
    ports:
      - "9000:9000"
    environment:
      SONARQUBE_JDBC_USERNAME: sonar
      SONARQUBE_JDBC_PASSWORD: sonar
      SONARQUBE_JDBC_URL: "jdbc:postgresql://postgres:5432/sonar"
EOF
cd /opt/sonarqube
docker-compose up -d

默认账号密码 admin/admin

2、插件安装

中文插件

由于找不到7.4版本,所以我们选择离线安装

cd /opt/sonarqube/sonarqube/extensions/plugins

wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.24/sonar-l10n-zh-plugin-1.24.jar

docker restart sonar

分支插件

社区版默认只支持主分支的代码扫描,所以要支持其他分支需要下载一个插件,

注意:下载的插件版本要检查是否支持你正在使用的sonarqube版本

下载地址

https://github.com/mc1arke/sonarqube-community-branch-plugin/releases

1、安装插件
cd /opt/sonarqube/sonarqube/extensions/plugins
wget https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/1.18.0/sonarqube-community-branch-plugin-1.18.0.jar

2、添加配置文件
cd /opt/sonarqube/sonarqube/conf
cat > sonar.properties <<EOF
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=ce
EOF

docker restart sonar

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker如何给Springboot项目动态传参的实现方法

    Docker如何给Springboot项目动态传参的实现方法

    这篇文章主要介绍了Docker如何给Springboot项目动态传参的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Docker下利用jenkins和docker实现持续交付

    Docker下利用jenkins和docker实现持续交付

    这篇文章主要介绍了利用jenkins和docker实现持续交付功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 详解Docker容器运行多条命令(supervisor)

    详解Docker容器运行多条命令(supervisor)

    本篇文章主要介绍了详解Docker容器运行多条命令(supervisor),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Docker容器内目录显示异常的解决方法

    Docker容器内目录显示异常的解决方法

    在容器化技术日益普及的当下,Docker等容器平台已成为众多开发者与运维人员的得力助手,然而在使用容器的过程中,偶尔会遇到一些令人头疼的问题,比如进入容器后不显示目录,这无疑会给容器的管理和操作带来诸多不便,所以本文给大家介绍了Docker容器内目录显示异常的解决方法
    2025-01-01
  • Docker如何修改容器已经映射的端口

    Docker如何修改容器已经映射的端口

    在项目中我们一般通过命令启动一个容器的时候,通常会通过命令指定容器与物理机网络端口的映射,这篇文章主要给大家介绍了关于Docker如何修改容器已经映射的端口的相关资料,需要的朋友可以参考下
    2023-12-12
  • CentOS7如何修改Docker镜像默认存储位置

    CentOS7如何修改Docker镜像默认存储位置

    这篇文章主要介绍了CentOS7如何修改Docker镜像默认存储位置问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Docker使用的个人学习总结

    Docker使用的个人学习总结

    最近时不时会用到很多开发工具,无奈装了太多无用软件,所以不想安装太多开发软件在电脑上,所以想到了用docker容器来配置开发环境适应不同开发内容,这篇文章主要给大家总结了关于Docker使用的一些个人学习知识点,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Docker容器数据卷技术介绍

    Docker容器数据卷技术介绍

    这篇文章主要为大家介绍了Docker容器数据卷技术介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • docker compose入门helloworld的详细过程

    docker compose入门helloworld的详细过程

    docker-compose是基于docker的,所以我们需要先安装docker才能使用docker-compose,接下来通过本文给大家介绍docker compose入门helloworld的过程,一起看看吧
    2021-09-09
  • 使用Docker部署openGauss国产数据库的操作方法

    使用Docker部署openGauss国产数据库的操作方法

    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库,这篇文章主要介绍了使用Docker部署openGauss国产数据库,需要的朋友可以参考下
    2022-10-10

最新评论