专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
sonarqube

adrianmusante/sonarqube

adrianmusante

基于SonarQube社区版的Docker镜像,包含额外功能和插件,如社区分支插件、无人值守迁移、健康检查工具及Gravatar支持,用于代码质量分析和技术债务管理。

4 次收藏下载次数: 0状态:社区镜像维护者:adrianmusante仓库类型:镜像最近更新:17 天前
轩辕镜像,不浪费每一次拉取。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。点击查看

docker-sonarqube

SonarQube™是一个开源质量管理平台,用于分析和度量代码的技术质量。它使开发人员能够在早期阶段检测代码问题、漏洞和缺陷。

本打包的SonarQube Docker镜像基于官方SonarQube社区版二进制文件,但包含一些额外功能和插件,以增强其功能和可用性。

SonarQube™概述

附加组件

预安装插件:

  • https://github.com/mc1arke/sonarqube-community-branch-plugin%EF%BC%9A%E6%94%AF%E6%8C%81GitHub%E3%80%81GitLab%E7%AD%89%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%88%86%E6%94%AF%E5%92%8C%E6%8B%89%E5%8F%96%E8%AF%B7%E6%B1%82%E5%88%86%E6%9E%90%E3%80%82

额外功能:

  • 无人值守迁移
  • 健康检查命令行工具
  • 默认启用Gravatar
  • 启动时从环境变量刷新配置(注意:管理员用户仅在首次启动时加载)

Docker仓库

获取SonarQube Docker镜像的推荐方式是从https://hub.docker.com/r/adrianmusante/sonarqube%E6%8B%89%E5%8F%96%E9%A2%84%E6%9E%84%E5%BB%BA%E9%95%9C%E5%83%8F%E3%80%82

要使用特定版本,可以拉取带版本标签的镜像。您可以在Docker Hub仓库中查看https://hub.docker.com/r/adrianmusante/sonarqube/tags/%E3%80%82

  • https://github.com/adrianmusante/docker-sonarqube/blob/main/sonarqube/Dockerfile

支持的架构:

  • x86-64: linux/amd64
  • ARM64: linux/arm64

配置

如何使用此镜像

SonarQube™需要访问PostgreSQL数据库来存储信息。您可以使用任何PostgreSQL数据库服务器,无论是在单独的容器中运行还是在远程主机上。

该仓库包含一个示例https://github.com/adrianmusante/docker-sonarqube/blob/main/docker-compose.example.yml%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B1%95%E7%A4%BA%E4%BA%86%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87Docker Compose使用官方https://hub.docker.com/_/postgres%E8%BF%90%E8%A1%8CSonarQube%E3%80%82

SonarQube实例将可通过http://localhost:9000访问(如果不是在本地运行Docker,则为http://<your-docker-host-ip>:9000)。可以通过修改docker-compose.yml文件的ports部分更改端口。此外,您可以通过设置SONARQUBE_PORT_NUMBER环境变量更改容器内的端口。

环境变量

启动SonarQube镜像时,您可以通过在docker-compose文件或docker run命令行中传递一个或多个环境变量来调整实例配置。

以下部分描述了用于配置SonarQube实例的可用环境变量。

可自定义环境变量

名称描述默认值
SONARQUBE_DEBUG启用调试模式。no
SONARQUBE_LOG_LEVEL设置日志级别。支持的值:TRACE、DEBUG、INFO。INFO(如果启用SONARQUBE_DEBUG,日志级别将设置为DEBUG)
SONARQUBE_LOG_ROLLING_POLICY设置日志滚动策略。使用time:yyyy-MM-dd进行每日轮换,size:10MB进行基于大小的轮换,或none禁用日志轮换。size:10MB
SONARQUBE_LOG_MAX_FILES设置要保留的最大文件数。如果SONARQUBE_LOG_ROLLING_POLICY为none,此属性将被忽略。3
SONARQUBE_MOUNTED_PROVISIONING_DIRSonarQube初始配置目录。/sonarqube-provisioning
SONARQUBE_DATA_TO_PERSIST相对于SonarQube安装目录的要持久化的文件。若要提供多个值,请用空格分隔。${SONARQUBE_DATA_DIR} ${SONARQUBE_EXTENSIONS_DIR} ${SONARQUBE_LOGS_DIR}
SONARQUBE_PORT_NUMBERSonarQube Web应用程序端口号。9000
SONARQUBE_ELASTICSEARCH_PORT_NUMBERSonarQube Elasticsearch应用程序端口号。9001
SONARQUBE_START_TIMEOUT应用程序启动超时时间(秒)。300
SONARQUBE_SKIP_BOOTSTRAP是否执行应用程序的初始引导。no
SONARQUBE_SKIP_MIGRATION当SonarQube版本更新时是否执行迁移。否则,如果跳过迁移,系统将无法运行,需手动执行步骤。no
SONARQUBE_WEB_CONTEXT访问应用程序的SonarQube前缀。/
SONARQUBE_WEB_URLSonarQube服务器的HTTP(S) URL,例如https://yourhost.yourdomain/sonar。此值用于创建电子邮件或拉取请求装饰中的链接。nil
SONARQUBE_MAX_HEAP_SIZESonarQube服务(CE、Search和Web)的最大堆大小。nil
SONARQUBE_MIN_HEAP_SIZESonarQube服务(CE、Search和Web)的最小堆大小。nil
SONARQUBE_CE_JAVA_ADD_OPTS计算引擎的额外Java选项。nil
SONARQUBE_ELASTICSEARCH_JAVA_ADD_OPTSElasticsearch的额外Java选项。nil
SONARQUBE_WEB_JAVA_ADD_OPTSWeb的额外Java选项。nil
SONARQUBE_EXTRA_PROPERTIES要在sonar.properties文件中设置的属性的逗号分隔列表,例如my.sonar.property1=property_value,my.sonar.property2=property_value。nil
SONARQUBE_EXTRA_SETTINGS要在“管理 -> 配置 -> 常规设置”中设置的设置的逗号分隔列表,例如sonar.lf.enableGravatar=false,sonar.lf.logoUrl=https://mysonar.com/logo。nil
SONARQUBE_USERNAMESonarQube用户名。admin
SONARQUBE_PASSWORDSonarQube用户密码。Admin.123456
SONARQUBE_EMAILSonarQube用户电子邮件地址。user@example.com
SONARQUBE_SMTP_HOSTSonarQube SMTP服务器主机。nil
SONARQUBE_SMTP_PORT_NUMBERSonarQube SMTP服务器端口号。nil
SONARQUBE_SMTP_USERSonarQube SMTP服务器用户。nil
SONARQUBE_SMTP_PASSWORDSonarQube SMTP服务器用户密码。nil
SONARQUBE_SMTP_PROTOCOLSonarQube SMTP服务器使用的协议。nil
SONARQUBE_EMAIL_FROM_ADDRESS电子邮件将从此地址发送,例如noreply@sonarsource.com。$SONARQUBE_EMAIL
SONARQUBE_EMAIL_FROM_NAME电子邮件将从此地址名称发送,例如SonarQube。nil
SONARQUBE_DATABASE_HOST数据库服务器主机。$SONARQUBE_DEFAULT_DATABASE_HOST
SONARQUBE_DATABASE_PORT_NUMBER数据库服务器端口。5432
SONARQUBE_DATABASE_NAME数据库名称。sonarqube_db
SONARQUBE_DATABASE_USER数据库用户名。sonarqube
SONARQUBE_DATABASE_PASSWORD数据库用户密码。nil
SONARQUBE_PR_PLUGIN_RESOURCES_URL用于加载PR评论图像的基础URL。如果变量定义为空,图像链接将引用sonar.core.serverBaseURL。https://cdn.jsdelivr.net/gh/mc1arke/sonarqube-community-branch-plugin@${SONARQUBE_PR_PLUGIN_VERSION}/src/main/resources/static

[!NOTE] 可以使用_FILE后缀提供环境变量。值将从环境变量指定的文件中读取,遵循标准Docker密钥处理机制。 这允许您将敏感数据(如密码)安全地注入容器,而无需直接在环境变量中公开它们。

只读环境变量

名称描述值
SONARQUBE_HOMESonarQube安装目录。/opt/sonarqube
SONARQUBE_DATA_DIRSonarQube数据文件目录。${SONARQUBE_HOME}/data
SONARQUBE_EXTENSIONS_DIRSonarQube扩展目录。${SONARQUBE_HOME}/extensions
SONARQUBE_CONF_DIRSonarQube配置文件目录。${SONARQUBE_HOME}/conf
SONARQUBE_CONF_FILESonarQube配置文件。${SONARQUBE_CONF_DIR}/sonar.properties
SONARQUBE_LOGS_DIRSonarQube日志文件目录。${SONARQUBE_HOME}/logs
SONARQUBE_LOG_FILESonarQube日志文件。${SONARQUBE_LOGS_DIR}/sonar.log
SONARQUBE_TMP_DIRSonarQube临时文件目录。${SONARQUBE_HOME}/temp
SONARQUBE_PID_DIRSonarQube PID文件目录。${SONARQUBE_HOME}/pids
SONARQUBE_BIN_DIRSonarQube二进制可执行文件目录。${SONARQUBE_HOME}/bin/linux-x86-64
SONARQUBE_VOLUME_DIRSonarQube挂载配置文件目录。/sonarqube
SONARQUBE_DAEMON_USERSonarQube系统用户。sonarqube
SONARQUBE_DAEMON_USER_IDSonarQube系统用户ID。1001
SONARQUBE_DAEMON_GROUPSonarQube系统组。sonarqube
SONARQUBE_DAEMON_GROUP_IDSonarQube系统组ID。1001
SONARQUBE_DEFAULT_DATABASE_HOST默认数据库服务器主机。postgresql

持久化应用数据

如果删除容器,所有数据都将丢失,下次运行镜像时数据库将重新初始化。为避免数据丢失,应挂载一个在容器删除后仍能持久化的卷。

为实现持久化,应在/sonarqube路径挂载目录。如果挂载的目录为空,将在首次运行时初始化。此外,还应挂载PostgreSQL数据卷以实现持久化。

若要避免意外删除卷,可以将主机目录挂载为数据卷。或者,您可以使用卷插件托管卷数据。

按照本仓库中包含的Docker Compose示例,您可以修改https://github.com/adrianmusante/docker-sonarqube/blob/main/docker-compose.example.yml%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%BF%E7%94%A8%E4%B8%BB%E6%9C%BA%E7%9B%AE%E5%BD%95%E8%80%8C%E9%9D%9EDocker%E5%91%BD%E5%90%8D%E5%8D%B7%E3%80%82%E4%BB%A5%E4%B8%8B%E6%98%AF%E4%BF%AE%E6%94%B9%E7%A4%BA%E4%BE%8B%EF%BC%9A

diff
   sonarqube-db:
     ...
     volumes:
-      - sonarqube_db:/var/lib/postgresql
+      - /path/to/sonarqube/db:/var/lib/postgresql
   ...
   sonarqube:
     ...
     volumes:
-      - sonarqube:/sonarqube
+      - /path/to/sonarqube/data:/sonarqube
   ...
-volumes:
-  sonarqube_db:
-    driver: local
-  sonarqube:
-    driver: local

使用主机目录进行持久化时,请注意此容器以非root用户运行。因此,任何挂载的文件和目录必须具有UID 1001的正确权限。建议在首次运行Docker之前创建目录并设置正确的权限或所有权,以确保Docker不会以不兼容的权限创建它。

如果权限设置不正确,您可能会在容器日志中看到如下错误消息:mkdir: cannot create directory ‘/sonarqube/data’: Permission denied

您可以使用以下命令将所有权设置为1001:1001:

console
$ mkdir -p /path/to/sonarqube
$ chown -R 1001:1001 /path/to/sonarqube

或者,您可以将权限设置为777(所有人可读、可写、可执行):

console
$ mkdir -p /path/to/sonarqube
$ chmod -R 777 /path/to/sonarqube

健康检查

SonarQube镜像包含健康检查命令,用于验证SonarQube Web应用程序是否正常运行。健康检查尝试连接到SonarQube,并通过查询/api/system/status端点分析应用程序状态。当应用程序状态为UP或通过health-check命令行工具的-s选项提供的任何其他状态时,健康检查将成功。

console
$ health-check -h
用于检查SonarQube是否健康的工具。

用法: health-check [选项] ...
部分选项包括:
    -u <HEALTH_CHECK_URL>       用于检查SonarQube状态的URL。(可选)

    -s <STATUS>                 重复此选项可添加更多有效状态。可能的状态:
                                  - STARTING: 服务器初始化进行中
                                  - UP: SonarQube实例正常运行(始终作为有效状态添加)
                                  - DOWN: 实例已启动但未运行(例如,由于迁移失败)
                                  - RESTARTING: 已请求重启
                                  - DB_MIGRATION_NEEDED: 需要数据库迁移
                                  - DB_MIGRATION_RUNNING: 数据库迁移进行中

    -h                          显示此帮助并退出

示例:
    - health-check
    - health-check -u http://my-host:9000/api/system/status
    - health-check -s STARTING -s RESTARTING
    - health-check -s DB_MIGRATION_NEEDED -s DB_MIGRATION_RUNNING

此命令默认不运行。您可以在容器内手动运行它,或添加到编排工具(如Docker Compose、Kubernetes等)中监控SonarQube实例的健康状态。

例如,要将健康检查添加到docker-compose.yml文件,可以使用以下配置:

yaml
services:
  sonarqube:
    # ...
    healthcheck:
      test: health-check
      start_period: 3m
      start_interval: 10s
      interval: 1m
      timeout: 10s
      retries: 3

[!IMPORTANT] 如果SonarQube实例未完全启动(包括需要数据库迁移或迁移进行中),健康检查将失败。如果将SONARQUBE_SKIP_MIGRATION环境变量设置为yes,建议使用-s DB_MIGRATION_NEEDED -s DB_MIGRATION_RUNNING选项将这些状态视为健康。

问题反馈

如果您对此镜像有任何问题或疑问,请通过https://github.com/adrianmusante/docker-sonarqube/issues%E4%B8%8E%E6%88%91%E8%81%94%E7%B3%BB%E3%80%82

更多相关 Docker 镜像与资源

以下是 adrianmusante/sonarqube 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/sonarqube Docker 镜像说明(SonarQube 代码质量分析平台,适合持续代码审查)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 sonarqube 镜像标签

docker pull docker.xuanyuan.run/adrianmusante/sonarqube:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull adrianmusante/sonarqube:<标签>

更多 sonarqube 镜像推荐

SonarQube logo

mcp/sonarqube

mcp(Model Context Protocol)
通过Web API与SonarQube Cloud、Server和Community版本交互,分析代码以识别质量和安全问题的MCP服务器。
19 次收藏10万+ 次下载
7 天前更新
sonarqube logo

library/sonarqube

Docker 官方镜像
SonarQube的官方镜像是一款专注于代码质量与安全的代码分析工具,其核心功能包括对代码进行全面扫描、精准检测潜在缺陷、有效识别安全漏洞及科学评估代码质量指标,能帮助开发团队在软件开发流程中及时发现并修复问题,从而显著提升软件产品的可靠性与安全性,是开发过程中保障代码质量和安全的重要工具。
2.6千 次收藏10亿+ 次下载
13 天前更新
bitnami/sonarqube logo

bitnami/sonarqube

Bitnami Secure Images(VMware Tanzu)
Bitnami安全镜像,用于部署SonarQube代码质量与安全分析工具,提供安全加固的生产环境支持。
34 次收藏100万+ 次下载
8 个月前更新
bitnamicharts/sonarqube logo

bitnamicharts/sonarqube

bitnamicharts
Bitnami提供的SonarQube(TM) Helm chart,用于在Kubernetes环境中简化代码质量管理平台的部署,支持代码分析、漏洞检测及质量监控。
100万+ 次下载
8 个月前更新
owasp/sonarqube logo

owasp/sonarqube

owasp
该项目旨在为SonarQube添加更多安全功能,将其用作开源静态应用安全测试(SAST)工具,利用现有开源解决方案提供持续代码质量检查。
33 次收藏10万+ 次下载
7 年前更新
lgohr/sonarqube logo

lgohr/sonarqube

lgohr
Concourse CI资源,用于从SonarQube获取代码质量分析结果,支持在CI/CD流程中集成SonarQube分析状态检查与报告提取。
2 次收藏1000万+ 次下载
1 年前更新

查看更多 sonarqube 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
adrianmusante/sonarqube
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.