执行docker scan <REPOSITORY>:<TAG>报400 Bad Request错误如何解决?
排查解决步骤
- 优先检查Docker Desktop版本兼容性:2.3.0~3.2.0版本的Docker Desktop内置扫描插件存在已知bug会触发该400错误,直接升级到官方最新稳定版即可修复多数同类问题
- 升级独立的docker scan插件:执行命令
docker scan --version查看插件版本,若版本低于v0.11.0,执行docker plugin upgrade docker/scan完成插件更新 - 重新绑定Snyk令牌:不要走默认的网页跳转绑定流程,直接执行命令
docker scan --login --token <你的Snyk令牌>手动完成令牌绑定,避免跳转过程的参数丢失问题 - 验证镜像权限与格式:如果扫描的是私有仓库镜像,需要先执行
docker login <私有仓库地址>完成对应仓库的登录,确保Docker可以正常拉取镜像层数据;同时检查镜像名是否存在特殊字符、标签拼写错误等问题 - 清除本地扫描缓存:
- macOS/Linux 执行
rm -rf ~/.docker/scan删除缓存目录 - Windows 直接删除路径
C:\Users\<你的用户名>\.docker\scan下的所有文件
完成后重新执行扫描命令
- macOS/Linux 执行
- 检查网络配置:如果本地配置了代理、VPN等网络工具,暂时关闭后重试,确保本地网络可以正常连接Snyk的服务接口,无防火墙、路由规则拦截请求
内容的提问来源于stack exchange,提问作者udo
相关产品推荐
相关产品推荐

