You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Trivy扫描本地未推送至仓库的镜像?扫描时遇报错

解决Trivy扫描本地镜像失败的问题

错误原因分析

你遇到的问题核心是Trivy无法连接本地容器运行时(Docker/containerd/podman),同时因为本地镜像名称test与Docker Hub公共仓库的镜像名重名,Trivy尝试去远程拉取镜像导致认证失败。

解决步骤

  • 确认Docker守护进程正在运行
    执行命令检查状态:

    systemctl status docker
    

    如果未运行,启动服务:

    systemctl start docker
    

    Windows/macOS用户直接启动Docker Desktop即可。

  • 确保当前用户拥有Docker访问权限
    /var/run/docker.sock的访问权限限制可能导致连接失败,将用户加入docker组:

    sudo usermod -aG docker $USER
    

    执行后重新登录终端,或用newgrp docker临时生效权限。

  • 使用镜像ID扫描(避免名称冲突)
    本地镜像名与远程仓库重名时,Trivy会优先尝试远程拉取,改用镜像ID扫描更可靠:

    1. 查看本地镜像ID:
      docker images
      
    2. 用ID扫描:
      trivy image <你的test镜像IMAGE ID>
      
  • 强制指定Docker扫描器
    让Trivy直接使用本地Docker运行时,跳过远程拉取尝试:

    trivy image --scanner docker test
    

    或通过环境变量设置:

    TRIVY_SCANNER=docker trivy image test
    
  • 如果使用containerd/podman运行时

    • 若用containerd,确认socket存在并启动服务:
      ls /run/containerd/containerd.sock
      systemctl start containerd
      
    • 若用podman,确认socket路径正确并启动podman服务。

内容的提问来源于stack exchange,提问作者Ajinkya16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:32:43