Product SiteDocumentation Site

12.4.2. Работа с образами

12.4.2.1. Загрузка образа в реестр

Список локальных образов:
$ podman images
REPOSITORY                     TAG         IMAGE ID      CREATED       SIZE
registry.altlinux.org/alt/alt  p11         97c70e35e575  9 months ago  125 MB
Перетегирование образа:
$ podman tag registry.altlinux.org/alt/alt:p11 \
  localhost:5000/alt/alt:p11
Загрузка в реестр:
$ podman push localhost:5000/alt/alt:p11
Проверка списка репозиториев:
$ curl http://localhost:5000/v2/_catalog
{"repositories":["alt/alt"]}
Проверка тегов:
$ curl http://localhost:5000/v2/alt/alt/tags/list
{"name":"alt/alt","tags":["p11"]}

12.4.2.2. Веб-интерфейс

Встроенный веб-интерфейс доступен по адресу http://localhost:5000
В веб-интерфейсе Zot можно:
  • просматривать репозитории и теги;
  • анализировать метаданные образов;
  • проверять цифровые подписи (Cosign).
В зависимости от настроек безопасности для доступа к веб-интерфейсу может потребоваться аутентификация (см. раздел Аутентификация и авторизация).
Zot. Главная страница
После входа отображается главная страница, на которой представлены:
  • популярные образы;
  • недавно обновлённые репозитории.
Все доступные образы можно просмотреть на странице /explore (доступна по ссылке View all в правом верхнем углу).
Рядом с каждым образом отображаются значки, указывающие на:
  • результат сканирования на уязвимости;
  • статус цифровой подписи.

Таблица 12.3. Значки и их значения

Значок
Значение
Zot. Уязвимости не обнаружены
Уязвимости не обнаружены
Zot. Ошибка при сканировании
Ошибка при сканировании
Zot. Критическая уязвимость
Критическая уязвимость
Zot. Высокая уязвимость
Высокая уязвимость
Zot. Средняя уязвимость
Средняя уязвимость
Zot. Низкая уязвимость
Низкая уязвимость
Zot. Подпись проверена
Подпись проверена
Zot. Подпись отсутствует или не проверена
Подпись отсутствует или не проверена

Примечание

Уровни уязвимостей также отображаются на вкладке VULNERABILITIES.
На странице /explore доступны следующие инструменты:
  • Поиск — ввод имени образа или ключевых слов;
  • Сортировка:
    • по релевантности;
    • по дате обновления (сначала новые);
    • по алфавиту;
    • по количеству загрузок;
  • Фильтры (фасетная навигация):
    • операционная система;
    • архитектура CPU (amd64, arm64 и др.);
    • статус подписи (подписан / не подписан).
Zot. Страница образа
При выборе образа открывается страница, содержащая:
  • описание образа;
  • URL репозитория;
  • количество загрузок;
  • дату последней публикации;
  • размер;
  • тип лицензии;
  • список доступных тегов.
На странице конкретного тега доступны вкладки:
  • LAYERS — слои образа (команды сборки и дайджесты);
  • USES — используемые базовые образы;
  • USED BY — образы, использующие данный образ;
  • VULNERABILITIES — известные уязвимости (CVE).

Примечание

На вкладке LAYERS можно нажать Details, чтобы увидеть команды сборки и хеши слоёв.
Zot. Загрузка образа
Чтобы загрузить образ (pull):
  1. На странице тега откройте меню Pull.
  2. Выберите инструмент:
    • Docker
    • Podman
    • Skopeo
  3. Нажмите значок Копировать рядом с командой.
  4. Вставьте команду в терминал и выполните её:
    $ podman pull 192.168.0.165:5000/alt/alt:p11
    

12.4.2.3. Командная утилита zli

zli (Zot CLI) — утилита командной строки для работы с реестром Zot.
Утилита позволяет:
  • управлять конфигурацией;
  • просматривать образы;
  • выполнять поиск;
  • анализировать уязвимости.
Добавление реестра (задание алиаса для URL сервера):
$ zli config add local http://localhost:5000
$ zli config add remote http://registry.test.alt:5000
Вывод списка настроенных реестров:
$ zli config -l
local	http://localhost:5000
remote	http://registry.test.alt:5000
Работа с образами:
  • список образов:
    $ zli image list --config local
    
    Пример вывода:
    REPOSITORY TAG      OS/ARCH          DIGEST     SIGNED   SIZE
    myalt     latest    linux/amd64      fdd06a93   false    258MB
    myalt     stable    linux/amd64      fdd06a93   false    258MB
    myalt     v1.2.3    linux/amd64      fdd06a93   false    258MB
    myapp     latest    linux/amd64      fd6a158a   false    6.6MB
    
  • информация об образе:
    $ zli image name myalt:latest --config local
    
    Пример вывода:
    REPOSITORY TAG      OS/ARCH          DIGEST     SIGNED   SIZE
    myalt      latest   linux/amd64      fdd06a93   false    258MB
    
  • список репозиториев:
    $ zli repo list --config local
    
    Пример вывода:
    Searching... 🌍
    REPOSITORY NAME
    alt
    alt/alt
    alt-modified
    busybox
    myalt
    myapp
    
Zot интегрируется с базами уязвимостей, что позволяет анализировать образы на наличие известных CVE:
  • найти образы, затронутые конкретной уязвимостью:
    $ zli cve affected CVE-2025-32989 --config remote
    
  • список уязвимостей образа:
    $ zli cve list alt/alt:p11 --config remote
    
  • фильтрация по ID уязвимости:
    $ zli cve list alt/alt:p11 --config remote --cve-id CVE-2025-32989
    
  • подробный вывод (с описанием и пакетами):
    $ zli cve list alt/alt:p11 --config remote --verbose
    
  • вывод в формате JSON:
    $ zli cve list alt/alt:p11 --config remote -f json
    
  • найти все образы на конкретном сервере Zot, затронутые конкретной уязвимостью CVE:
    $ zli cve affected CVE-2025-32989 --config remote --repo c3/openjdk-dev
    
  • сравнение уязвимостей между версиями:
    $ zli cve diff c3/openjdk-dev:1.0.0 c3/openjdk-dev:2.0.0 --config remote
    

    Примечание

    Команда покажет уязвимости, присутствующие в версии 1.0.0, но исправленные в версии 2.0.0.
  • поиск исправлений:
    $ zli cve fixed alt/alt CVE-2025-32989 --config remote
    

    Примечание

    Для multi-arch образов можно указывать платформу:
    $ zli cve diff myapp:v1.0 linux/amd64 myapp:v2.0 linux/arm64 --config remote
    
Запуск встроенного бенчмарка:
# zb -c 10 -s 127.0.10.0/24 -n 10 http://localhost:5000

Примечание

Бенчмарк позволяет оценить производительность реестра (количество запросов, задержки, нагрузку).
Команда search позволяет находить репозитории и теги по частичному совпадению:
  • Поиск по подстроке:
    $ zli search query ng --config local
    
    Команда найдёт nginx, mongo, golang и др.
  • Если имя завершается двоеточием — поиск строго по имени:
    zli search query nginx: --config local
    
    Команда вернёт только репозиторий nginx.

12.4.2.4. Загрузка образа из реестра

Загрузка образа:
$  podman pull localhost:5000/alt/alt:p11