Cloudflare Serverless Registry: бессерверный реестр контейнеров на базе рабочих станций Cloudflare
Общее введение
Cloudflare Serverless Registry - это бессерверный контейнерный реестр на базе Cloudflare Workers и хранилища R2. Он поддерживает push и pull образов и обеспечивает аутентификацию по JWT на основе имени пользователя-пароля и открытого ключа. Проект прост в развертывании, совместим с операциями Docker и подходит для управления образами контейнеров в бессерверной среде. Несмотря на некоторые ограничения, Serverless Registry представляет собой легкое и масштабируемое решение для разработчиков.
Список функций
- Подставка для зеркал
- Предоставьте имя пользователя пароль и аутентификацию JWT
- Работа, совместимая с Docker
- Поддержка возврата к другим реестрам
- Простота развертывания и управления
Использование помощи
Установка и развертывание
- Установка зависимостей: Используйте pnpm для установки всех зависимостей (другие менеджеры пакетов могут работать, но поддерживается только pnpm).
$ pnpm install
- Подготовка файла wrangler: Скопируйте файл примера и настройте его.
$ cp wrangler.toml.example wrangler.toml
- Настройка ведра хранения R2: Создайте ведро хранения R2.
$ npx wrangler --env production r2 bucket create r2-registry
- Настройка wrangler.toml: Добавьте конфигурацию ведра хранилища R2 в файл wrangler.toml.
r2_buckets = [ { binding = "REGISTRY", bucket_name = "r2-registry" } ]
- Реестр развертывания: Разверните реестр в производственной среде.
$ npx wrangler deploy --env production
Аутентификация по имени пользователя и паролю
- Установка имени пользователя и пароля: Установите конфиденциальные имя пользователя и пароль.
$ npx wrangler secret put USERNAME --env production $ npx wrangler secret put PASSWORD --env production
Сертификация JWT
- Добавьте открытый ключ JWT: Добавьте открытый ключ JWT в кодировке base64 для аутентификации пароля или токена.
$ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
Передача и извлечение образов с помощью Docker
- Вход в Docker: Войдите в Docker, используя свое имя пользователя и пароль.
export REGISTRY_URL=your-url-here echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
- нажимное зеркало (вычислительное): Занесите изображение в реестр.
docker pull ubuntu:latest docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest docker push $REGISTRY_URL/ubuntu:latest
- Вытягивание зеркал: Извлеките изображение из реестра.
docker rmi ubuntu:latest docker pull $REGISTRY_URL/ubuntu:latest
Откат конфигурации
- Настройка реестра резервного копирования: Настройте реестр резервного копирования в файле wrangler.toml.
[env.production] REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
- Установка маркера реестра: Установите маркер реестра на конфиденциальный.
cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...