如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
SonarQube™ 是一款开源代码质量管理平台,用于分析和度量代码的技术质量。它能帮助开发人员在早期阶段检测代码问题、安全漏洞和缺陷。Bitnami 提供的 SonarQube™ 镜像经过优化,具备易于部署、安全可靠的特点,适用于开发、测试及生产环境。
商标声明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。SonarQube 是 SonarSource SA 的注册商标。
vm.max_map_count、fs.file-max)。1. 使用 docker run 部署
bash# 启动 SonarQube(需提前准备外部 PostgreSQL 数据库) docker run -d \ --name sonarqube \ -p 9000:9000 \ -e SONARQUBE_JDBC_URL=jdbc:postgresql://<POSTGRES_HOST>:5432/sonar \ -e SONARQUBE_JDBC_USERNAME=<POSTGRES_USER> \ -e SONARQUBE_JDBC_PASSWORD=<POSTGRES_PASSWORD> \ -e SONARQUBE_USERNAME=admin \ -e SONARQUBE_PASSWORD=<ADMIN_PASSWORD> \ # 至少 12 字符 bitnami/sonarqube:latest
2. 使用 Docker Compose 部署(含 PostgreSQL)
yamlversion: '3.8' services: postgresql: image: bitnami/postgresql:14 environment: - POSTGRESQL_USER=sonar - POSTGRESQL_PASSWORD=sonar_password # 自定义密码 - POSTGRESQL_DATABASE=sonar volumes: - postgresql_data:/bitnami/postgresql networks: - sonarqube-network sonarqube: image: bitnami/sonarqube:latest ports: - "9000:9000" environment: - SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar - SONARQUBE_JDBC_USERNAME=sonar - SONARQUBE_JDBC_PASSWORD=sonar_password - SONARQUBE_USERNAME=admin - SONARQUBE_PASSWORD=admin_password # 至少 12 字符,生产环境建议复杂密码 depends_on: - postgresql volumes: - sonarqube_data:/bitnami/sonarqube networks: - sonarqube-network networks: sonarqube-network: driver: bridge volumes: postgresql_data: sonarqube_data:
启动命令:
bashdocker-compose up -d
1. 添加 Bitnami Helm 仓库
bashhelm repo add bitnami https://charts.bitnami.com/bitnami helm repo update
2. 安装 Helm Chart
bash# 基础安装(使用内置 PostgreSQL) helm install my-sonarqube oci://registry-1.docker.io/bitnamicharts/sonarqube # 指定外部数据库(生产环境推荐) helm install my-sonarqube oci://registry-1.docker.io/bitnamicharts/sonarqube \ --set postgresql.enabled=false \ --set externalDatabase.host=<POSTGRES_HOST> \ --set externalDatabase.user=<POSTGRES_USER> \ --set externalDatabase.password=<POSTGRES_PASSWORD> \ --set externalDatabase.database=sonar \ --set externalDatabase.port=5432
3. 验证部署
bash# 检查 Pod 状态 kubectl get pods -l app.kubernetes.io/name=sonarqube # 获取访问地址(NodePort 或 LoadBalancer 模式) kubectl get svc my-sonarqube-sonarqube
1. 数据库配置
| 参数 | 描述 | 默认值 |
|---|---|---|
SONARQUBE_JDBC_URL | 数据库连接 URL(格式:jdbc:postgresql://<host>:<port>/<dbname>) | - |
SONARQUBE_JDBC_USERNAME | 数据库用户名 | sonar |
SONARQUBE_JDBC_PASSWORD | 数据库密码 | - |
postgresql.enabled | 是否启用内置 PostgreSQL(Helm Chart 参数) | true |
externalDatabase.host | 外部数据库主机(Helm Chart 参数) | - |
2. 访问控制配置
| 参数 | 描述 | 默认值 |
|---|---|---|
sonarqubeUsername | 管理员用户名(Helm Chart) | user |
sonarqubePassword | 管理员密码(至少 12 字符) | 自动生成随机值 |
ingress.enabled | 是否启用 Ingress(Helm Chart) | false |
ingress.hostname | Ingress 访问域名 | sonarqube.example.com |
3. 内核参数调整
SonarQube 运行依赖以下内核参数,如未提前配置,可通过 initContainer 自动调整(Helm Chart 默认启用):
yaml# Helm Chart 参数 sysctl: enabled: true # 启用 initContainer 调整内核参数 commands: - sysctl -w vm.max_map_count=262144 - sysctl -w fs.file-max=65536
如需手动调整(非容器环境):
bashsudo sysctl -w vm.max_map_count=262144 sudo sysctl -w fs.file-max=65536
4. 持久化存储配置
| 参数 | 描述 | 默认值 |
|---|---|---|
persistence.enabled | 是否启用持久化存储(Helm Chart) | true |
persistence.size | PVC 存储大小 | 10Gi |
volumePermissions.enabled | 是否启用 initContainer 调整存储权限(解决非 root 用户写入问题) | false(默认通过 securityContext 调整) |
5. 监控配置
启用 Prometheus 监控(Helm Chart):
yamlmetrics: enabled: true # 启用 JMX Exporter 侧car容器 jmx: enabled: true port: 10443 # metrics 暴露端口 serviceMonitor: enabled: true # 生成 ServiceMonitor 资源(需 Prometheus Operator)
Bitnami 将调整公共镜像目录,推出 Bitnami Secure Images 计划,主要变更包括:
10.6、9.9.0)将迁移至 docker.io/bitnamilegacy 仓库,不再更新。详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
sonarqubePassword,长度至少 12 字符。sonar.forceAuthentication=true 强制 HTTPS。privileged 模式(Helm Chart 中 sysctl.enabled=true 时需特权 initContainer,建议生产环境提前配置内核参数并禁用该 initContainer)。| 参数名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局镜像仓库地址 | "" |
global.imagePullSecrets | 镜像拉取密钥列表 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过校验) | false |
| 参数名称 | 描述 | 默认值 |
|---|---|---|
sonarqubeUsername | 管理员用户名 | user |
sonarqubePassword | 管理员密码(至少 12 字符) | ""(自动生成) |
provisioningFolder | 配置文件挂载目录(用于自定义规则、质量配置等) | /bitnami/sonarqube/conf/provisioning |
extraEnvVars | 额外环境变量列表(如 LOG_LEVEL=ERROR) | [] |
完整参数列表参见 https://github.com/bitnami/charts/blob/main/bitnami/sonarqube/README.md%E3%80%82
以下是 bitnamicharts/sonarqube 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




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