如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
nexus-iq-cli是基于Sonatype IQ CLI的Docker镜像,用于对挂载工作区中的文件执行组件智能评估。该镜像通过与Sonatype IQ Server交互,实现组件策略合规性检查,并生成评估报告。主要用途包括组件安全扫描、策略评估及合规性验证,支持集成到CI/CD流程中实现自动化检查。
bashdocker run sonatype/nexus-iq-cli /sonatype/evaluate [选项] <待扫描文件或目录>
扫描本地文件目录
将主机mycontent目录挂载为容器/target,评估结果输出到主机myresults目录:
bashdocker run -v mycontent:/target -v myresults:/sonatype/reports sonatype/nexus-iq-cli /sonatype/evaluate \ -s https://iq.myCompany.com \ -a user:password \ -i WEBAPP \ /target/our-web-app.war
含空格路径处理
若目标路径包含空格,需使用单引号包裹并转义空格:
bashdocker run ... '/target\ folder/our-web-app.war'
必选参数
| 选项 | 描述 | 示例 |
|---|---|---|
-s, --server-url <http[s]://...> | IQ Server的URL地址 | -s https://iq.example.com |
-a, --authentication <username:password> | IQ Server认证凭据 | -a admin:password123 |
-i, --application-id <app ID> | IQ Server上的应用公开ID | -i MY-WEB-APP |
可选参数
| 选项 | 描述 | 默认值 | 示例 |
|---|---|---|---|
-t, --stage <stage> | 分析阶段,可选值:develop、source、build、stage-release、release、operate | build | -t release |
-O, --organization-id <organization ID> | IQ Server组织ID(用于自动创建应用) | 无 | -O ORG123 |
-r, --result-file </path/to/file.json> | 策略评估结果JSON文件路径 | 无 | -r /sonatype/reports/result.json |
-w, --fail-on-policy-warnings | 策略警告时触发失败 | false | -w |
-e, --ignore-system-errors | 忽略系统错误(IO、网络等) | false | -e |
-E, --ignore-scanning-errors | 忽略扫描错误(损坏文件等) | false | -E |
-p, --proxy <host[:port]> | 代理服务器地址 | 无 | -p proxy.example.com:8080 |
-U, --proxy-user <username:password> | 代理服务器认证凭据 | 无 | -U proxyuser:proxypass |
-X, --debug | 启用调试日志(可能泄露敏感信息) | false | -X |
-h, --help | 显示帮助信息 | false | -h |
-ra, --reachability | 运行可达性分析 | 无 | -ra |
-rn, --reachability-namespaces <namespace> | 指定可达性分析命名空间(可多次指定) | 无 | -rn com.example -rn org.springframework |
通过设置GIT_DIR环境变量,可收集Git信息(提交哈希、仓库URL)并发送至IQ Server。需确保挂载的工作区包含.git目录。
示例:
bashdocker run --env GIT_DIR=/target/.git -v $(pwd):/target sonatype/nexus-iq-cli /sonatype/evaluate \ -s https://iq.myCompany.com \ -a user:password \ -i iq-application \ '/target/**/*.jar'
支持扫描本地Docker镜像或远程仓库镜像(公共/私有),需挂载Docker守护进程套接字(/var/run/docker.sock)。
环境变量
| 环境变量 | 描述 | 适用场景 |
|---|---|---|
NEXUS_CONTAINER_IMAGE_REGISTRY_USER | 私有镜像仓库用户名 | 扫描私有仓库镜像时 |
NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD | 私有镜像仓库密码 | 扫描私有仓库镜像时 |
扫描示例
扫描本地Docker镜像
bashdocker run --rm \ -v ~/sonatype/reports:/sonatype/reports \ -v /var/run/docker.sock:/var/run/docker.sock \ sonatype/nexus-iq-cli /sonatype/evaluate \ -s https://iq.server \ -a user:password \ -i app-name \ container:alpine:3.6
扫描远程私有镜像
bashdocker run --rm \ -v ~/sonatype/reports:/sonatype/reports \ -v /var/run/docker.sock:/var/run/docker.sock \ -e NEXUS_CONTAINER_IMAGE_REGISTRY_USER=registry-user \ -e NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD=registry-pass \ sonatype/nexus-iq-cli /sonatype/evaluate \ -s https://iq.server \ -a user:password \ -i app-name \ container:https://registry.example.com/private/alpine:3.6
旧版本兼容性(1.183.0及更早)
需额外挂载/tmp目录:
bashdocker run --rm \ -v ~/sonatype/reports:/sonatype/reports \ -v /tmp:/tmp \ -v /var/run/docker.sock:/var/run/docker.sock \ sonatype/nexus-iq-cli /sonatype/evaluate \ -s https://iq.server \ -a user:password \ -i app-name \ container:alpine:3.6
自定义挂载路径可通过NEXUS_CONTAINER_SCANNING_MOUNT_PATH环境变量配置:
bashdocker run --rm \ -e NEXUS_CONTAINER_SCANNING_MOUNT_PATH=/custom/tmp \ -v /custom/tmp:/custom/tmp \ ...
注意:Docker镜像扫描功能暂不支持Windows系统。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务