在 docker 个容器中使用 Trivy 扫描 docker 个图像

Scan docker images with Trivy from within a docker container

问题

我想做以下事情:

  1. 使用 Trivy 创建映像并安装 Docker
  2. 运行 Kubernetes 上的容器
  3. 安排 CRON 作业从容器注册表中提取所有图像并扫描它们,并将结果输出到标准输出

问题

有没有聪明的方法来做到这一点?您甚至可以在 docker 容器中安装 docker 吗?

我最后做了以下事情:

  1. 正在创建安装了 Trivy and Skopeo 的图像
  2. 正在使用 Skopeo 下载 docker 图像
    • skopeo copy --src-creds=user:password --dest-compress --src-tls-verify=false docker://myrepo.com/mynamespace/ubuntu:最新 oci:ubuntu
  3. 正在扫描图片
    • trivy image --input ubuntu

Skopeo 的替代方法是使用 Registry HTTP API 下载图像,正如 David Maze 所建议的那样。