无GUI Linux环境JFrog CLI扫描Docker镜像报协议方案不支持错误求助
问题根因
报错Get "api/v1/system/version": unsupported protocol scheme ""由两个问题共同触发:
- 传入
--url参数时缺少https://协议前缀,CLI无法识别目标服务的通信协议 - 使用
sudo执行CLI命令时,root用户无法读取当前普通用户目录下的CLI认证配置,导致参数解析异常
无GUI终端环境操作步骤
- 第一步:非交互模式配置CLI认证,不需要浏览器跳转,在当前普通用户终端执行:
jf c add --url https://<你的JFrog云实例地址> --access-token <你提前创建的identity token> --interactive=false
注意:云实例地址格式一般为
https://<自定义实例名>.jfrog.io,必须补全https://前缀,不能只写域名部分。
- 第二步:验证配置有效性,执行:
jf c show
返回结果中能看到你刚添加的实例地址、认证状态为有效即配置成功。
- 第三步:执行Docker镜像扫描,两种方案二选一即可:
- 保留sudo执行docker权限,显式指定当前用户的CLI配置文件路径:
sudo jf docker scan <完整镜像名:镜像标签> --config ~/.jfrog/jfrog-cli.conf- 切换到root用户完成CLI配置后直接扫描:
sudo su jf c add --url https://<你的JFrog云实例地址> --access-token <你的identity token> --interactive=false jf docker scan <完整镜像名:镜像标签>
注意事项
- 不要省略镜像的标签参数,和
sudo docker images输出的镜像标识完全一致即可,未指定标签时CLI默认查找latest标签镜像,容易触发镜像不存在报错。 - 你之前使用的CLI安装命令无需调整,安装完成后不需要走默认的浏览器引导流程,通过上述非交互配置命令即可完成全终端环境的认证对接。
内容的提问来源于stack exchange,提问作者Arnab
相关产品推荐
相关产品推荐

