AI Personal Learning
und praktische Anleitung
讯飞绘镜

Cloudflare Serverless Registry: Eine serverlose Container-Registry auf Basis von Cloudflare Workers

Allgemeine Einführung

Cloudflare Serverless Registry ist eine serverlose Container-Registry, die auf Cloudflare Workers und R2 Storage basiert. Sie unterstützt Push- und Pull-Images und bietet eine auf Benutzername, Passwort und öffentlichem Schlüssel basierende JWT-Authentifizierung. Das Projekt ist einfach zu implementieren, mit Docker-Operationen kompatibel und für die Verwaltung von Container-Images in einer serverlosen Umgebung geeignet. Trotz einiger Einschränkungen bietet die Serverless Registry eine leichtgewichtige und skalierbare Lösung für Entwickler.

 

Funktionsliste

  • Push- und Pull-Unterstützung für den Spiegel
  • Benutzername, Passwort und JWT-Authentifizierung bereitstellen
  • Docker-kompatibler Betrieb
  • Unterstützung für den Rückgriff auf andere Registraturen
  • Einfache Bereitstellung und Verwaltung

 

Hilfe verwenden

Installation und Einsatz

  1. Installieren von Abhängigkeiten: Verwenden Sie pnpm, um alle Abhängigkeiten zu installieren (andere Paketmanager können funktionieren, aber nur pnpm wird unterstützt).
    $ pnpm install
    
  2. Vorbereiten der Wrangler-Datei: Kopieren Sie die Beispieldatei und konfigurieren Sie sie.
    $ cp wrangler.toml.example wrangler.toml
    
  3. Einstellen des R2-Storage BucketErstellen Sie einen R2-Speicher-Bucket.
    $ npx wrangler --env production r2 bucket create r2-registry
    
  4. Konfigurieren von wrangler.tomlFügen Sie die Konfiguration des R2-Storage-Buckets zur Datei wrangler.toml hinzu.
    r2_buckets = [
      { binding = "REGISTRY", bucket_name = "r2-registry" }
    ]
    
  5. Register für den EinsatzBereitstellung der Registry in einer Produktionsumgebung.
    $ npx wrangler deploy --env production
    

Authentifizierung mit Benutzernamen und Passwort

  1. Einstellen des Benutzernamens und des PasswortsBenutzername und Passwort auf vertraulich setzen.
    $ npx wrangler secret put USERNAME --env production
    $ npx wrangler secret put PASSWORD --env production
    

JWT-Zertifizierung

  1. JWT-Schlüssel hinzufügenHinzufügen eines base64-kodierten öffentlichen JWT-Schlüssels zur Authentifizierung des Passworts oder Tokens.
    $ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
    

Pushing und Pulling von Images mit Docker

  1. Anmeldung bei DockerMelden Sie sich mit Ihrem Benutzernamen und Passwort bei Docker an.
    export REGISTRY_URL=your-url-here
    echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
    
  2. Push-Spiegel (Berechnung)Push the image to the registry.
    docker pull ubuntu:latest
    docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest
    docker push $REGISTRY_URL/ubuntu:latest
    
  3. Spiegel abziehen: Ziehen Sie das Bild aus der Registrierung.
    docker rmi ubuntu:latest
    docker pull $REGISTRY_URL/ubuntu:latest
    

Konfiguration Rückzug

  1. Einstellen der Fallback-Registrierung: Konfigurieren Sie die Fallback-Registrierung in der Datei wrangler.toml.
    [env.production]
    REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
    
  2. Einstellen des Registrierungs-Tokens: Setzen Sie das Registrierungs-Token auf vertraulich.
    cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
    

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Cloudflare Serverless Registry: Eine serverlose Container-Registry auf Basis von Cloudflare Workers
de_DEDeutsch