轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
adrianmusante/sonarqube
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

sonarqube Docker 镜像下载 - 轩辕镜像

sonarqube 镜像详细信息和使用指南

sonarqube 镜像标签列表和版本信息

sonarqube 镜像拉取命令和加速下载

sonarqube 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

sonarqube
adrianmusante/sonarqube

sonarqube 镜像详细信息

sonarqube 镜像标签列表

sonarqube 镜像使用说明

sonarqube 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于SonarQube社区版的Docker镜像,包含额外功能和插件,如社区分支插件、无人值守迁移、健康检查工具及Gravatar支持,用于代码质量分析和技术债务管理。
4 收藏0 次下载activeadrianmusante镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

sonarqube 镜像详细说明

sonarqube 使用指南

sonarqube 配置说明

sonarqube 官方文档

docker-sonarqube

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

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

SonarQube™概述

附加组件

预安装插件:

  • sonarqube-community-branch-plugin:支持GitHub、GitLab等平台的分支和拉取请求分析。

额外功能:

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

Docker仓库

获取SonarQube Docker镜像的推荐方式是从Docker Hub仓库拉取预构建镜像。

要使用特定版本,可以拉取带版本标签的镜像。您可以在Docker Hub仓库中查看可用版本列表。

  • 25, 25.9, latest (sonarqube/Dockerfile)

支持的架构:

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

配置

如何使用此镜像

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

该仓库包含一个示例docker-compose.yml文件,展示了如何通过Docker Compose使用官方PostgreSQL Docker镜像运行SonarQube。

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,例如[***]。此值用于创建电子邮件或拉取请求装饰中的链接。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=[***]。nil
SONARQUBE_USERNAMESonarQube用户名。admin
SONARQUBE_PASSWORDSonarQube用户密码。Admin.123456
SONARQUBE_EMAILSonarQube用户电子邮件地址。***
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电子邮件将从此地址发送,例如***。$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。[***]{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示例,您可以修改docker-compose.yml文件,使用主机目录而非Docker命名卷。以下是修改示例:

   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:

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

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

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

健康检查

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

$ 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 [***]
    - health-check -s STARTING -s RESTARTING
    - health-check -s DB_MIGRATION_NEEDED -s DB_MIGRATION_RUNNING

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

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

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选项将这些状态视为健康。

问题反馈

如果您对此镜像有任何问题或疑问,请通过GitHub issue与我联系。

查看更多 sonarqube 相关镜像 →
sonarqube logo
sonarqube
by library
官方
SonarQube的官方镜像是一款专注于代码质量与安全的代码分析工具,其核心功能包括对代码进行全面扫描、精准检测潜在缺陷、有效识别安全漏洞及科学评估代码质量指标,能帮助开发团队在软件开发流程中及时发现并修复问题,从而显著提升软件产品的可靠性与安全性,是开发过程中保障代码质量和安全的重要工具。
25311B+ pulls
上次更新:16 天前
bitnami/sonarqube logo
bitnami/sonarqube
by VMware
认证
Bitnami安全镜像,用于部署SonarQube代码质量与安全分析工具,提供安全加固的生产环境支持。
341M+ pulls
上次更新:2 个月前
bitnamicharts/sonarqube logo
bitnamicharts/sonarqube
by VMware
认证
Bitnami提供的SonarQube(TM) Helm chart,用于在Kubernetes环境中简化代码质量管理平台的部署,支持代码分析、漏洞检测及质量监控。
1M+ pulls
上次更新:2 个月前
mcp/sonarqube logo
mcp/sonarqube
by mcp
认证
通过Web API与SonarQube Cloud、Server和Community版本交互,分析代码以识别质量和安全问题的MCP服务器。
1710K+ pulls
上次更新:11 天前

常见问题

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

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

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

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.