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系统。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务