
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像提供SonarScanner(包括dotnet和java版本)的运行环境,支持多种.NET SDK版本,旨在与SonarQube配合使用,实现代码质量和安全性的自动化分析。镜像每日自动更新,确保包含最新版本的SonarScanner及活跃的.NET SDK(如net8.0、net7.0、net6.0)。
镜像标签遵循特定命名规则,不同标签对应不同的SonarScanner版本和.NET SDK版本,更新通过自动化管道每日触发以检查新版本。标签映射关系如下:
5-net8.0 -> 5.0-net8.0 -> 5.0.1-net8.0 -> 6-for-dotnet-net8.0 -> 6.2-for-dotnet-net8.0 -> 6.2.0-for-dotnet-net8.0 -> net8.0 -> latest5-net7.0 -> 5.0-net7.0 -> 5.0.1-net7.0 -> 6-for-dotnet-net7.0 -> 6.2-for-dotnet-net7.0 -> 6.2.0-for-dotnet-net7.0 -> net7.05-net6.0 -> 5.0-net6.0 -> 5.0.1-net6.0 -> 6-for-dotnet-net6.0 -> 6.2-for-dotnet-net6.0 -> 6.2.0-for-dotnet-net6.0 -> net6.05-net5.0 -> 5.0-net5.0 -> 5.0.1-net5.0 -> 6-for-dotnet-net5.0 -> 6.2-for-dotnet-net5.0 -> 6.2.0-for-dotnet-net5.0 -> net5.0(已弃用)5-net3.1 -> 5.0-net3.1 -> 5.0.1-net3.1 -> 6-for-dotnet-net3.1 -> 6.2-for-dotnet-net3.1 -> 6.2.0-for-dotnet-net3.1 -> net3.1(已弃用)5.0.3-net4.6 -> net4.6(已弃用)标签后缀-netX.X表示基础镜像为mcr.microsoft.com/dotnet/sdk:X.X,前缀X.X.X-表示SonarScanner版本;若前缀为X.X.X-for-dotnet-,则表示安装了对应版本的SonarScanner for .NET(通过dotnet tool install --global dotnet-sonarscanner安装)。
需先运行https://hub.docker.com/_/sonarqube/%E6%9C%8D%E5%8A%A1%E3%80%82%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E5%90%AF%E5%8A%A8%E6%96%B9%E5%BC%8F%EF%BC%88%E4%BB%85%E7%94%A8%E4%BA%8E%E6%B5%8B%E8%AF%95%EF%BC%8C%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%8F%82%E8%A7%81https://hub.docker.com/_/sonarqube/%EF%BC%89%EF%BC%9A
bashdocker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
*-net8.0、*-net7.0、*-net6.0、*-net5.0或*-net3.1容器构建细节可参考:https://github.com/OidaTiftla/sonar-scanner-cli-docker/blob/master/DEVELOPER.md
启动容器
bashdocker run -d -v /path/to/project/:/mnt/code --name sonarscanner oidatiftla/sonarscanner:net8.0 /bin/bash -c 'while true; do sleep 1000; done'
创建网络连接容器
创建网络以连接sonarqube和sonarscanner容器,并将两者加入该网络:
powershelldocker network create sonar docker network connect sonar sonarqube docker network connect sonar sonarscanner
进入容器
bashdocker exec -it sonarscanner /bin/bash
更多详情参见:[***]
*-net4.6(已弃用)该版本仅支持Windows系统下的Docker for Windows,需右键点击任务栏中的Docker图标,选择“切换到Windows容器”。此外,需启用实验性功能,以同时运行Linux容器(sonarqube)和Windows容器(sonarscanner)。
切换Docker引擎至Windows容器后,可能需要重新运行/创建前置条件中的SonarQube容器,此时需增加默认内存(例如--memory 6g):
bashdocker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 --memory 6g sonarqube:latest
启动容器
运行sonarscanner容器(大型项目可能需要增加内存,例如--memory 5g):
bashdocker run -d -v C:\path\to\project\:C:\Code --name sonarscanner oidatiftla/sonarscanner:net4.6 powershell.exe -command {while ($true) { Start-Sleep 10 }}
Windows会自动为容器创建网络,使sonarqube和sonarscanner可通信,可通过以下命令测试:
bashdocker exec -it sonarscanner ping sonarqube
进入容器
bashdocker exec -it sonarscanner powershell.exe
扫描器二进制文件位于:C:\sonar-scanner-msbuild-*.*.*.**-net4.6,配置文件可编辑:C:\sonar-scanner-msbuild-*.*.*.**-net4.6\SonarQube.Analysis.xml。
大型项目调整Java堆大小
powershell$myopts = [System.Environment]::GetEnvironmentVariable('SONAR_SCANNER_OPTS',[System.EnvironmentVariableTarget]::Machine) $myopts += " -Xms256m -Xmx1024m" [System.Environment]::SetEnvironmentVariable('SONAR_SCANNER_OPTS', $myopts, [System.EnvironmentVariableTarget]::Machine)
安装Node.js(适用于ASP.NET项目等分析)
若分析时出现以下警告:
可通过以下命令安装Node.js:
powershellchoco install nodejs.install -y
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务