Написал простенький docker registry на go. В основном сделано | ~/Documents/journal
Написал простенький docker registry на go. В основном сделано для упрощения распространения контейнеров на NixOS системы, где конфигурация системы и деплоймент контейнеров производятся через nix. Но я заложил возможность добавить дополнительные provider'ы данных в будущем.
Как этот реестр использовать: - сохраняем (через docker save) один или несколько контейнеров в tar.gz - распаковываем этот tar.gz в отдельную директорию (например ./example) - добавляем контейнер в конфигурацию local provider как указано в readme (config.yml) в виде "example:latest": "./example" - запускаем unregistry с обновленной на предыдущем шаге конфигурацией - можем сделать docker pull 127.0.0.1:5000/example:latest
Репозиторий https://github.com/corpix/unregistry Хайлайты по реализации: - regexp'ы для матчинга endpoint'ов - обработка запросов - реализация обработчиков local provider - preload и индексирование данных о слоях