如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
arm64v8/sonarqube 是 SonarQube 官方 Docker 镜像的 arm64v8 架构版本,用于存储 SonarQube Server 和 SonarQube Community Build 的官方镜像。
SonarQube Server(前身为 SonarQube)是一款本地部署的代码分析工具,支持检测 30 多种语言、框架和 IaC 平台中的质量与安全问题,并通过 Sonar AI CodeFix 能力提供基于 AI 的修复建议。该工具可直接集成到 CI 流水线或主流 DevOps 平台,在每次合并/拉取请求时对代码进行全面检查,覆盖可维护性、可靠性、安全性等多维度指标。
SonarQube Community Build(前身为 SonarQube Community)是 Sonar 提供的免费自管理版本,每月更新,包含开源核心功能,支持 21 种编程语言和框架的基础 bug 检测、代码异味识别及安全问题分析。商业版本(SonarQube Server Developer、Enterprise、Data Center 版)则提供高级安全分析、企业级集成和可扩展性特性。
| 标签系列 | Dockerfile 链接 |
|---|---|
2025.5.0-developer, 2025.5-developer, developer | https://github.com/SonarSource/docker-sonarqube/blob/4f77dc7067a3ed7761c56361e40ad7dda3cd9d6c/commercial-editions/developer/Dockerfile |
2025.5.0-enterprise, 2025.5-enterprise, enterprise | https://github.com/SonarSource/docker-sonarqube/blob/4f77dc7067a3ed7761c56361e40ad7dda3cd9d6c/commercial-editions/enterprise/Dockerfile |
2025.5.0-datacenter-app, 2025.5-datacenter-app, datacenter-app | https://github.com/SonarSource/docker-sonarqube/blob/4f77dc7067a3ed7761c56361e40ad7dda3cd9d6c/commercial-editions/datacenter/app/Dockerfile |
2025.5.0-datacenter-search, 2025.5-datacenter-search, datacenter-search | https://github.com/SonarSource/docker-sonarqube/blob/4f77dc7067a3ed7761c56361e40ad7dda3cd9d6c/commercial-editions/datacenter/search/Dockerfile |
2025.4.3-developer, 2025.4-developer | https://github.com/SonarSource/docker-sonarqube/blob/52f6f8a3a79daf2f4ed53b9f6313df16dcbb710a/commercial-editions/developer/Dockerfile |
2025.4.3-enterprise, 2025.4-enterprise | https://github.com/SonarSource/docker-sonarqube/blob/52f6f8a3a79daf2f4ed53b9f6313df16dcbb710a/commercial-editions/enterprise/Dockerfile |
2025.4.3-datacenter-app, 2025.4-datacenter-app | https://github.com/SonarSource/docker-sonarqube/blob/52f6f8a3a79daf2f4ed53b9f6313df16dcbb710a/commercial-editions/datacenter/app/Dockerfile |
2025.4.3-datacenter-search, 2025.4-datacenter-search | https://github.com/SonarSource/docker-sonarqube/blob/52f6f8a3a79daf2f4ed53b9f6313df16dcbb710a/commercial-editions/datacenter/search/Dockerfile |
2025.1.4-developer, 2025.1-developer, 2025-lta-developer | https://github.com/SonarSource/docker-sonarqube/blob/***a6b668d26878ea8d063d66677247272f38/commercial-editions/developer/Dockerfile |
2025.1.4-enterprise, 2025.1-enterprise, 2025-lta-enterprise | https://github.com/SonarSource/docker-sonarqube/blob/***a6b668d26878ea8d063d66677247272f38/commercial-editions/enterprise/Dockerfile |
2025.1.4-datacenter-app, 2025.1-datacenter-app, 2025-lta-datacenter-app | https://github.com/SonarSource/docker-sonarqube/blob/***a6b668d26878ea8d063d66677247272f38/commercial-editions/datacenter/app/Dockerfile |
2025.1.4-datacenter-search, 2025.1-datacenter-search, 2025-lta-datacenter-search | https://github.com/SonarSource/docker-sonarqube/blob/***a6b668d26878ea8d063d66677247272f38/commercial-editions/datacenter/search/Dockerfile |
25.10.0.114319-community, community, latest | https://github.com/SonarSource/docker-sonarqube/blob/a5d28439b45d0a6002290fd28bf1b481c0182bb6/community-build/Dockerfile |
SonarQube 依赖嵌入式 Elasticsearch,Docker 主机需满足以下配置(以 Linux 为例):
bash# 设置虚拟内存映射数 sysctl -w vm.max_map_count=524288 # 设置文件描述符上限 sysctl -w fs.file-max=131072 # 设置当前会话的文件描述符限制 ulimit -n 131072 # 设置用户进程数限制 ulimit -u 8192
通过以下命令启动社区版演示实例(仅用于测试,不建议生产环境):
bashdocker run --name sonarqube-demo -p 9000:9000 arm64v8/sonarqube:community
访问 http://localhost:9000,默认账号密码:admin/admin。
1. 基础部署(使用外部数据库)
推荐使用外部数据库(如 PostgreSQL)存储数据,避免嵌入式 H2 数据库的局限性。以下示例使用 PostgreSQL 并挂载数据卷:
bash# 创建数据卷 docker volume create sonarqube_data docker volume create sonarqube_logs docker volume create sonarqube_extensions # 启动 SonarQube(需先启动 PostgreSQL 并配置环境变量) docker run -d \ --name sonarqube \ -p 9000:9000 \ -e SONAR_JDBC_URL=jdbc:postgresql://<postgresql-host>:5432/sonarqube \ -e SONAR_JDBC_USERNAME=<db-username> \ -e SONAR_JDBC_PASSWORD=<db-password> \ -v sonarqube_data:/opt/sonarqube/data \ -v sonarqube_logs:/opt/sonarqube/logs \ -v sonarqube_extensions:/opt/sonarqube/extensions \ --stop-timeout 3600 \ # 允许1小时优雅关闭(等待任务完成) arm64v8/sonarqube:community
2. Docker Compose 部署
创建 docker-compose.yml 文件,集成 SonarQube 和 PostgreSQL:
yamlversion: '3.8' services: sonarqube: image: arm64v8/sonarqube:community container_name: sonarqube ports: - "9000:9000" environment: - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonarqube - SONAR_JDBC_USERNAME=sonar - SONAR_JDBC_PASSWORD=sonar_password volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_logs:/opt/sonarqube/logs - sonarqube_extensions:/opt/sonarqube/extensions depends_on: - db stop_grace_period: 1h # 优雅关闭超时时间 db: image: arm64v8/postgres:14 container_name: sonarqube_db environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar_password - POSTGRES_DB=sonarqube volumes: - postgres_data:/var/lib/postgresql/data volumes: sonarqube_data: sonarqube_logs: sonarqube_extensions: postgres_data:
启动服务:
bashdocker-compose up -d
端口绑定
默认端口为 9000,通过 -p <host-port>:9000 映射到主机端口。
环境变量
常用环境变量用于配置数据库连接及服务参数:
| 环境变量 | 说明 | 示例 |
|---|---|---|
SONAR_JDBC_URL | 数据库连接 URL | jdbc:postgresql://db:5432/sonarqube |
SONAR_JDBC_USERNAME | 数据库用户名 | sonar |
SONAR_JDBC_PASSWORD | 数据库密码 | sonar_password |
SONAR_WEB_JAVAOPTS | Web 进程 JVM 参数 | -Xmx1G -Xms1G |
数据卷挂载
推荐挂载以下目录以持久化数据和配置:
/opt/sonarqube/data:存储数据库数据、Elasticsearch 索引等/opt/sonarqube/logs:服务日志/opt/sonarqube/extensions:第三方插件通过 Dockerfile 构建包含自定义插件的镜像:
dockerfileFROM arm64v8/sonarqube:community # 复制自定义插件到扩展目录 COPY sonar-custom-plugin-1.0.jar /opt/sonarqube/extensions/plugins/
构建并运行:
bashdocker build -t sonarqube-custom . docker run -d --name sonarqube-custom -p 9000:9000 sonarqube-custom
SonarQube 需等待进行中的任务完成后优雅关闭,默认 Docker 10 秒超时可能导致进程被强制终止。通过 --stop-timeout 或 stop_grace_period(Docker Compose)设置超时:
bash# 允许1小时优雅关闭 docker run --stop-timeout 3600 arm64v8/sonarqube:community
升级需遵循官方指南,确保数据兼容性。详细步骤参考 从 Docker 镜像升级 SonarQube。
SonarQube 实例管理文档参见 官方管理指南。
镜像中包含的其他软件可能受不同许可证约束,用户需自行确保合规使用。
以下是 arm64v8/sonarqube 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




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