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 [***] \ -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 [***] |
-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 [***] \ -a user:password \ -i iq-application \ '/target/**/*.jar'
支持扫描本地Docker镜像或远程仓库镜像(公共/私有),需挂载Docker守护进程套接字(/var/run/docker.sock)。
| 环境变量 | 描述 | 适用场景 |
|---|---|---|
NEXUS_CONTAINER_IMAGE_REGISTRY_USER | 私有镜像仓库用户名 | 扫描私有仓库镜像时 |
NEXUS_CONTAINER_IMAGE_REGISTRY_PASSWORD | 私有镜像仓库密码 | 扫描私有仓库镜像时 |
bashdocker run --rm \ -v ~/sonatype/reports:/sonatype/reports \ -v /var/run/docker.sock:/var/run/docker.sock \ sonatype/nexus-iq-cli /sonatype/evaluate \ -s [***] \ -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 [***] \ -a user:password \ -i app-name \ container:[***]
需额外挂载/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 [***] \ -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系统。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429