Сканирование локального образа докера на наличие уязвимостей с помощью Trivy дает несанкционированные

Я вытащил образ докера из частного репозитория в локальный и пытался сканировать локальный образ с помощью команды trivy image. Он извлекает базу данных, но показывает неавторизованную ошибку для доступа к локальному изображению

      scan error: unable to initialize a scanner: unable to initialize a docker scanner: 3 errors occurred:
        * unable to inspect the image (index.docker.io/library/58625f3e2b28:latest): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
        * unable to initialize Podman client: no podman socket found: stat podman/podman.sock: no such file or directory
        * GET https://index.docker.io/v2/library/58625f3e2b28/manifests/latest: UNAUTHORIZED: authentication required; [map[Action:pull Class: Name:library/58625f3e2b28 Type:repository]]

Docker deamon запущен, и образ также находится в локальном. Мелкая версия: 0.22.0

2 ответа

В официальной документации указано, что вам необходимо смонтировать сокет Docker, если вы хотите сканировать образ на своем хост-компьютере.

Тогда команда будет выглядеть так:

      docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image <<imagename>>

В моем случае у меня было"userns-remap": "default"в/etc/docker/daemon.json, поэтому мне просто нужно было добавить--userns=hostТриви:

      docker run \
    --userns=host \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /opt/trivy_cache:/tmp/trivy \
    aquasec/trivy \
    --cache-dir /tmp/trivy/ \
    image my-local-image

Эта проблема также обсуждается здесь: https://github.com/aquasecurity/trivy/issues/580 .

Другие вопросы по тегам