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

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

bitnami/sonarqube

自动构建
Bitnami Secure Images(VMware Tanzu)

Bitnami安全镜像,用于部署SonarQube代码质量与安全分析工具,提供安全加固的生产环境支持。

34 次收藏下载次数: 0状态:自动构建维护者:Bitnami Secure Images(VMware Tanzu)仓库类型:镜像最近更新:8 个月前
使用轩辕镜像,把时间还给真正重要的事。点击查看
中文简介
标签下载
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。点击查看

Bitnami SonarQube™ 镜像文档

1. 镜像概述和主要用途

1.1 SonarQube™ 简介

SonarQube™ 是一款开源代码质量管理平台,用于分析和度量代码的技术质量。它能帮助开发人员在早期阶段检测代码问题、安全漏洞和缺陷,支持多种编程语言,提供可操作的质量报告,是持续集成和代码审查流程中的关键工具。

1.2 Bitnami 镜像特点

Bitnami SonarQube™ 镜像是基于 Bitnami 安全镜像标准构建的容器化部署方案,具备以下特点:

  • 开箱即用的配置,简化部署流程
  • 支持持久化存储,确保数据不丢失
  • 遵循安全最佳实践,默认以非 root 用户运行
  • 与 Bitnami 其他产品(如 PostgreSQL 镜像)无缝集成

2. 核心功能和特性

2.1 SonarQube 核心功能

  • 多语言代码分析:支持 Java、Python、JavaScript 等 20+ 编程语言
  • 质量指标监控:代码复杂度、重复率、测试覆盖率等关键指标
  • 安全漏洞检测:识别 OWASP Top 10 等常见安全漏洞
  • 持续集成支持:与 Jenkins、GitHub Actions 等 CI/CD 工具集成
  • 可定制规则:支持自定义质量规则和阈值

2.2 Bitnami 镜像增强特性

  • 安全加固:基于最小化 Photon Linux 系统,减少***面
  • 供应链安全:提供 SBOM(软件物料清单)、病毒扫描报告和 SLSA-3 合规构建元数据
  • CVE 透明度:通过 VEX/KEV 标准提供漏洞可利用性信息,附 EPSS 风险评分
  • 非 root 运行:默认使用低权限用户,降低容器逃逸风险
  • 版本一致性:与 Bitnami 虚拟机、云镜像配置一致,便于跨环境迁移

3. 使用场景和适用范围

3.1 典型使用场景

  • 开发环境代码审查:开发团队本地或开发服务器上实时检测代码质量
  • CI/CD 流水线集成:在代码合并前自动执行质量检查,阻止不合格代码入库
  • 项目质量审计:定期分析现有项目代码库,生成质量报告和改进建议

3.2 适用范围

  • 开发/测试环境:免费版镜像适用于开发和测试,仅提供最新标签
  • 生产环境:推荐使用 Bitnami Secure Images 商业版,包含长期支持、企业级安全加固和技术支持

4. 重要通知:Bitnami 镜像目录变更

自 2025 年 8 月 28 日起,Bitnami 将升级公共镜像目录,推出 Bitnami Secure Images 计划,聚焦安全加固镜像:

  • 社区用户:首次可访问安全优化版镜像,但非加固的 Debian 基础镜像将逐步弃用,免费层仅提供少量"latest"标签的加固镜像(用于开发)
  • 镜像迁移:现有所有镜像(含历史版本标签,如 2.50.0、10.6)将在两周内迁移至 docker.io/bitnamilegacy 仓库,不再接收更新
  • 生产建议:生产环境需使用 Bitnami Secure Images 商业版,包含硬化容器、CVE 透明度、SBOM 和企业支持

详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82

5. 支持的标签

Bitnami SonarQube™ 镜像提供多种标签,支持不同版本和操作系统。标签策略遵循 Bitnami 标准,分为滚动标签(如 latest)和不可变标签(如特定版本号)。具体标签列表及对应 Dockerfile 链接可通过以下途径获取:

  • https://hub.docker.com/r/bitnami/sonarqube/tags/
  • Bitnami 标签策略文档:理解滚动标签和不可变标签

6. 获取镜像

6.1 从 Docker Hub 拉取

推荐通过 Docker Hub 获取预构建镜像:

console
# 获取最新版
docker pull bitnami/sonarqube:latest

# 获取特定版本(如存在)
docker pull bitnami/sonarqube:[TAG]  # 替换 [TAG] 为具体版本号

6.2 本地构建

从 GitHub 仓库克隆源码并构建:

console
git clone https://github.com/bitnami/containers.git
cd bitnami/sonarqube/[VERSION]/[OS]  # 替换 [VERSION] 和 [OS] 为具体值
docker build -t bitnami/sonarqube:latest .

7. 使用方法

SonarQube™ 依赖 PostgreSQL 数据库存储数据,以下示例使用 Bitnami PostgreSQL 镜像作为数据库。

7.1 使用 Docker 命令行

步骤 1:创建网络

console
docker network create sonarqube-network

步骤 2:启动 PostgreSQL 容器

console
# 创建持久化卷
docker volume create postgresql_data

# 启动 PostgreSQL(允许空密码仅用于开发)
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_sonarqube \
  --env POSTGRESQL_PASSWORD=bitnami \
  --env POSTGRESQL_DATABASE=bitnami_sonarqube \
  --network sonarqube-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

步骤 3:启动 SonarQube™ 容器

console
# 创建持久化卷
docker volume create sonarqube_data

# 启动 SonarQube™
docker run -d --name sonarqube \
  -p 8080:9000  # 映射容器内 9000 端口到主机 8080
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env SONARQUBE_DATABASE_USER=bn_sonarqube \
  --env SONARQUBE_DATABASE_PASSWORD=bitnami \
  --env SONARQUBE_DATABASE_NAME=bitnami_sonarqube \
  --env SONARQUBE_DATABASE_HOST=postgresql \
  --network sonarqube-network \
  --volume sonarqube_data:/bitnami/sonarqube \
  bitnami/sonarqube:latest

访问应用:http://<主机IP>:8080(默认凭据:admin/bitnami)。

7.2 使用 Docker Compose

步骤 1:创建 docker-compose.yml

yaml
version: '2'

services:
  postgresql:
    image: bitnami/postgresql:latest
    volumes:
      - postgresql_data:/bitnami/postgresql
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - POSTGRESQL_USERNAME=bn_sonarqube
      - POSTGRESQL_PASSWORD=bitnami
      - POSTGRESQL_DATABASE=bitnami_sonarqube

  sonarqube:
    image: bitnami/sonarqube:latest
    ports:
      - '8080:9000'
    volumes:
      - sonarqube_data:/bitnami/sonarqube
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - SONARQUBE_DATABASE_HOST=postgresql
      - SONARQUBE_DATABASE_PORT_NUMBER=5432
      - SONARQUBE_DATABASE_USER=bn_sonarqube
      - SONARQUBE_DATABASE_PASSWORD=bitnami
      - SONARQUBE_DATABASE_NAME=bitnami_sonarqube
    depends_on:
      - postgresql

volumes:
  postgresql_data:
    driver: local
  sonarqube_data:
    driver: local

步骤 2:启动服务

console
docker-compose up -d

注意:此 Compose 配置仅用于开发/测试,生产环境需使用 https://github.com/bitnami/charts/tree/main/bitnami/sonarqube%E3%80%82

8. 数据持久化

为避免容器删除导致数据丢失,需持久化 SonarQube 和 PostgreSQL 的数据目录。

8.1 使用 Docker 卷(推荐)

通过 docker volume 创建卷并挂载,卷由 Docker 管理,安全性更高:

console
# PostgreSQL 卷(已在 7.1 中示例)
docker volume create postgresql_data

# SonarQube 卷(已在 7.1 中示例)
docker volume create sonarqube_data

8.2 挂载主机目录

将主机目录直接挂载到容器,需确保目录权限正确(非 root 容器依赖 UID 1001):

Docker Compose 配置

修改 docker-compose.yml 中的 volumes 部分:

diff
services:
  postgresql:
    volumes:
-      - postgresql_data:/bitnami/postgresql
+      - /path/to/host/postgresql:/bitnami/postgresql  # 替换为实际主机路径
  sonarqube:
    volumes:
-      - sonarqube_data:/bitnami/sonarqube
+      - /path/to/host/sonarqube:/bitnami/sonarqube  # 替换为实际主机路径
-volumes:
-  postgresql_data:
-  sonarqube_data:

Docker 命令行

console
# 启动 PostgreSQL
docker run -d --name postgresql \
  --network sonarqube-network \
  --volume /path/to/host/postgresql:/bitnami/postgresql \  # 主机目录
  [其他环境变量] \
  bitnami/postgresql:latest

# 启动 SonarQube™
docker run -d --name sonarqube \
  --network sonarqube-network \
  --volume /path/to/host/sonarqube:/bitnami/sonarqube \  # 主机目录
  [其他环境变量] \
  bitnami/sonarqube:latest

9. 配置说明

9.1 环境变量

9.1.1 可定制环境变量

变量名描述默认值
SONARQUBE_MOUNTED_PROVISIONING_DIR初始配置文件挂载目录/bitnami/sonarqube-provisioning
SONARQUBE_DATA_TO_PERSIST需持久化的文件路径(相对于安装目录,空格分隔多值)${SONARQUBE_DATA_DIR} ${SONARQUBE_EXTENSIONS_DIR}
SONARQUBE_PORT_NUMBERWeb 应用端口9000
SONARQUBE_ELASTICSEARCH_PORT_NUMBERElasticsearch 端口9001
SONARQUBE_START_TIMEOUT应用启动超时时间(秒)300
SONARQUBE_SKIP_BOOTSTRAP是否跳过初始引导(如数据库已有数据时需设为 yes)no
SONARQUBE_WEB_CONTEXT应用访问前缀(如 /sonarqube)/
SONARQUBE_MAX_HEAP_SIZE服务最大堆内存(CE、Search、Web)nil(无默认值)
SONARQUBE_MIN_HEAP_SIZE服务最小堆内存(CE、Search、Web)nil(无默认值)
SONARQUBE_ELASTICSEARCH_JAVA_ADD_OPTSElasticsearch 额外 Java 参数nil(无默认值)
SONARQUBE_EXTRA_PROPERTIESsonar.properties 额外属性(格式:key1=val1,key2=val2)nil(无默认值)
SONARQUBE_USERNAME管理员用户名admin
SONARQUBE_PASSWORD管理员密码bitnami
SONARQUBE_EMAIL管理员***user@example.com
SONARQUBE_SMTP_HOSTSMTP 服务器地址(用于邮件通知)nil(无默认值)
SONARQUBE_SMTP_PORT_NUMBERSMTP 端口nil(无默认值)
SONARQUBE_SMTP_USERSMTP 用户名nil(无默认值)
SONARQUBE_SMTP_PASSWORDSMTP 密码nil(无默认值)
SONARQUBE_SMTP_PROTOCOLSMTP 协议(如 tls)nil(无默认值)
SONARQUBE_DATABASE_HOST数据库主机地址postgresql(默认连接名为 postgresql 的容器)
SONARQUBE_DATABASE_PORT_NUMBER数据库端口5432
SONARQUBE_DATABASE_NAME数据库名称bitnami_sonarqube
SONARQUBE_DATABASE_USER数据库用户名bn_sonarqube
SONARQUBE_DATABASE_PASSWORD数据库密码nil(无默认值)

9.1.2 只读环境变量(不可修改)

变量名描述值
SONARQUBE_BASE_DIR安装目录${BITNAMI_ROOT_DIR}/sonarqube
SONARQUBE_DATA_DIR数据目录${SONARQUBE_BASE_DIR}/data
SONARQUBE_EXTENSIONS_DIR扩展目录${SONARQUBE_BASE_DIR}/extensions
SONARQUBE_CONF_DIR配置文件目录${SONARQUBE_BASE_DIR}/conf
SONARQUBE_CONF_FILE主配置文件${SONARQUBE_CONF_DIR}/sonar.properties
SONARQUBE_LOGS_DIR日志目录${SONARQUBE_BASE_DIR}/logs
SONARQUBE_LOG_FILE主日志文件${SONARQUBE_LOGS_DIR}/sonar.log
SONARQUBE_TMP_DIR临时文件目录${SONARQUBE_BASE_DIR}/temp
SONARQUBE_PID_FILEPID 文件路径${SONARQUBE_BASE_DIR}/pids/SonarQube.pid
SONARQUBE_BIN_DIR可执行文件目录${SONARQUBE_BASE_DIR}/bin/linux-x86-64
SONARQUBE_VOLUME_DIR挂载配置目录${BITNAMI_VOLUME_DIR}/sonarqube
SONARQUBE_DAEMON_USER运行用户sonarqube
SONARQUBE_DAEMON_USER_ID运行用户 UID1001
SONARQUBE_DAEMON_GROUP运行用户组sonarqube
SONARQUBE_DAEMON_GROUP_ID运行用户组 GID1001
SONARQUBE_CE_JAVA_ADD_OPTS计算引擎额外 Java 参数${SONARQUBE_CE_JAVA_ADD_OPTS:-} ${JAVA_TOOL_OPTIONS:-}
SONARQUBE_WEB_JAVA_ADD_OPTSWeb 服务额外 Java 参数${SONARQUBE_WEB_JAVA_ADD_OPTS:-} ${JAVA_TOOL_OPTIONS:-}
SONARQUBE_DEFAULT_DATABASE_HOST默认数据库主机postgresql

9.2 配置示例

示例 1:配置 SMTP(Gmail)

console
docker run -d --name sonarqube \
  -p 8080:9000 \
  --network sonarqube-network \
  --env SONARQUBE_DATABASE_HOST=postgresql \
  --env SONARQUBE_DATABASE_USER=bn_sonarqube \
  --env SONARQUBE_DATABASE_PASSWORD=bitnami \
  --env SONARQUBE_DATABASE_NAME=bitnami_sonarqube \
  --env SONARQUBE_SMTP_HOST=smtp.gmail.com \
  --env SONARQUBE_SMTP_PORT_NUMBER=587 \

更多相关 Docker 镜像与资源

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

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

镜像拉取方式

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

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

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

使用方法:

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

DockerHub 原生拉取命令

docker pull bitnami/sonarqube:<标签>

更多 sonarqube 镜像推荐

SonarQube logo

mcp/sonarqube

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

library/sonarqube

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

siamaksade/sonarqube

siamaksade
适用于OpenShift的SonarQube镜像,基于Red Hat Open Innovation Labs的工作,用于在OpenShift环境中进行代码质量和安全性分析。
100万+ 次下载
6 年前更新

查看更多 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访问体验非常流畅,大镜像也能快速完成下载。"

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