registry-view/README.md
2026-01-27 09:55:57 +07:00

3.4 KiB
Raw Permalink Blame History

Docker Registry Viewer

Программа на Go для просмотра списка образов из Docker Registry с поддержкой авторизации.

Возможности

  • Подключение к Docker Registry с авторизацией (Basic Auth и Bearer Token)
  • Получение списка всех репозиториев
  • Получение списка тегов для каждого репозитория
  • Поддержка пагинации для больших реестров
  • Конфигурация через YAML файл
  • Поддержка учетных данных из ~/.docker/config.json (как в Docker CLI)

Установка

go mod download

Конфигурация

Все настройки хранятся в файле config.yaml. Скопируйте пример конфигурации:

cp config.yaml.example config.yaml

Способ 1: Указать учетные данные в config.yaml

registry:
  url: "https://registry.example.com"
  username: "admin"
  password: "password123"
debug: false

Способ 2: Использовать учетные данные из Docker config

Вы можете использовать учетные данные из ~/.docker/config.json (те же, что использует Docker CLI):

registry:
  url: "https://registry.example.com"
use_docker_config: true
debug: false

Программа автоматически найдет учетные данные для указанного registry в файле ~/.docker/config.json.

Примечание: Если use_docker_config: false и не указаны username/password, программа попытается автоматически загрузить их из Docker config как fallback.

Использование

Базовое использование

go run main.go

Программа автоматически загрузит конфигурацию из config.yaml.

Указание другого файла конфигурации

go run main.go -config /path/to/config.yaml
# или краткая форма
go run main.go -c /path/to/config.yaml

Сборка

go build -o registry-view
./registry-view

Режим отладки

Для диагностики проблем с авторизацией включите режим отладки в config.yaml:

debug: true

Режим отладки покажет:

  • URL запросов
  • HTTP статусы ответов
  • Заголовки ответов
  • Тела ответов
  • Процесс получения токенов

Формат вывода

Программа выводит:

  1. Список всех репозиториев с нумерацией
  2. Детальную информацию: для каждого репозитория список всех тегов

Примечания

  • Программа поддерживает как Basic Authentication, так и Bearer Token (OAuth2)
  • Автоматически обрабатывает пагинацию при большом количестве репозиториев
  • Для работы с Registry API v2 требуется соответствующий доступ