Zum Inhalt springen

Registry Management

Diese Anleitung zeigt Ihnen, wie Sie Docker Registries in ReadyStackGo verwalten, um Images aus privaten Registries zu pullen.

ReadyStackGo unterstützt das Pullen von Docker Images aus beliebigen OCI-kompatiblen Registries. Über die Settings-Seite können Sie Registry-Credentials zentral verwalten und mit Image Patterns automatisch den richtigen Registries zuordnen.

FunktionBeschreibung
Registry hinzufügenDocker Hub, GHCR, GitLab, Quay.io oder Custom Registry konfigurieren
Credentials verwaltenUsername/Password oder Token für private Registries hinterlegen
Image PatternsAutomatische Zuordnung von Images zu Registries via Glob-Patterns
Default RegistryFallback-Registry für Images ohne Pattern-Match
Registry bearbeitenName, URL, Credentials und Patterns nachträglich ändern
Registry löschenRegistry-Konfiguration inkl. Credentials entfernen

Beim Pullen eines Images sucht ReadyStackGo Credentials in folgender Reihenfolge:

  1. Datenbank-Registries - Registries aus den Settings mit passenden Image Patterns
  2. DOCKER__CONFIGPATH - Pfad aus Umgebungsvariable oder appsettings.json
  3. DOCKER_CONFIG - Standard Docker-Konvention (Verzeichnis)
  4. /root/.docker/config.json - Standard-Pfad im Linux-Container
  5. Keine Auth - Für öffentliche Images

Öffnen Sie die Settings-Seite über die Sidebar-Navigation. Dort finden Sie die Kachel Container Registries.

Settings-Seite mit Container Registries Kachel


Klicken Sie auf die Container Registries Kachel. Beim ersten Öffnen wird der leere Zustand angezeigt – noch keine Registries konfiguriert.

Leerer Zustand ohne konfigurierte Registries

Klicken Sie auf Add Your First Registry oder den Add Registry Button oben rechts.


Füllen Sie das Formular aus. ReadyStackGo bietet Vorlagen für bekannte Registries:

RegistryURL
Docker Hubhttps://index.docker.io/v1/
GitHub Container Registryhttps://ghcr.io
GitLab Container Registryhttps://registry.gitlab.com
Quay.iohttps://quay.io
CustomBeliebige URL eingeben

Wählen Sie einen Registry-Typ aus dem Dropdown – Name und URL werden automatisch ausgefüllt. Optional können Sie Credentials (Username + Password/Token) und Image Patterns konfigurieren.

Registry-Formular mit Docker Hub und Credentials ausgefüllt


Nach dem Speichern erscheint die Registry in der Übersicht. Badges zeigen den Status:

  • Authenticated – Credentials sind hinterlegt
  • Default – Diese Registry wird als Fallback verwendet

Registry-Liste mit neu angelegter Docker Hub Registry

Von hier aus können Sie Registries bearbeiten, als Default setzen oder löschen.


Klicken Sie auf Edit bei einer Registry, um Name, URL, Credentials oder Image Patterns zu ändern.

Edit-Formular einer Registry mit geänderten Daten


Klicken Sie auf Delete bei einer Registry. Es erscheint eine Bestätigungsseite mit den Details der Registry.

Lösch-Bestätigung mit Registry-Details und Warnung


Image Patterns bestimmen, welche Registry-Credentials für welche Images verwendet werden. Sie verwenden Glob-Syntax:

PatternBeschreibungBeispiel-Matches
library/*Ein Pfad-Segmentlibrary/nginx, library/redis
myorg/**Beliebig viele Pfad-Segmentemyorg/app, myorg/team/app
ghcr.io/**Registry-spezifischghcr.io/owner/repo
nginxExakte ÜbereinstimmungNur nginx
  • * matcht beliebige Zeichen innerhalb eines Pfad-Segments
  • ** matcht beliebige Zeichen über mehrere Pfad-Segmente
  • Patterns sind case-insensitive
  • Tags und Digests werden beim Matching ignoriert
RegistryImage PatternsVerwendet für
Docker Hub (Firma)meinefirma/*, meinefirma/**Firmen-Images auf Docker Hub
GitHub Container Registryghcr.io/**Alle GitHub Packages
Azure Container Registrymeinacr.azurecr.io/**Azure-gehostete Images
Default (Docker Hub)(keine - als Default markiert)Alle anderen öffentlichen Images

Sie können eine Registry als Default markieren. Diese wird für alle Images verwendet, die keinem Pattern entsprechen. Klicken Sie dazu auf Set Default in der Registry-Liste.


ReadyStackGo funktioniert mit jeder OCI-kompatiblen Registry:

RegistryURL-Format
Docker Hubhttps://index.docker.io/v1/
GitHub Container Registryhttps://ghcr.io
Azure Container Registryhttps://<name>.azurecr.io
Google Container Registryhttps://gcr.io
Amazon ECRhttps://<account>.dkr.ecr.<region>.amazonaws.com
Self-hostedhttps://registry.example.com

Failed to pull image 'meinefirma/myimage:latest' and no local copy exists.
Error: pull access denied for meinefirma/myimage

Ursachen:

  1. Keine Registry-Credentials konfiguriert
  2. Falsche Credentials
  3. Image Pattern matcht nicht
  4. Image existiert nicht in der Registry

Lösungen:

  1. Registry über Settings hinzufügen
  2. Image Pattern konfigurieren, das zu Ihrem Image passt
  3. Credentials überprüfen
  4. Image-Namen verifizieren

Falls konfigurierte Credentials nicht verwendet werden:

  1. Image Patterns prüfen - Passt das Pattern zu Ihrem Image?
  2. Pattern-Syntax prüfen - * für ein Segment, ** für mehrere
  3. Spezifischere Patterns - Hat eine andere Registry ein spezifischeres Pattern?

Für detaillierte Logs zur Credential-Auflösung:

environment:
- Logging__LogLevel__ReadyStackGo.Infrastructure.Docker=Debug

  • Passwörter werden in der SQLite-Datenbank gespeichert (nicht verschlüsselt at-rest)
  • Beschränken Sie den Zugriff auf die ReadyStackGo-Instanz
  • Die Datenbank-Datei sollte nur vom ReadyStackGo-Prozess lesbar sein
  • Verwenden Sie Service Accounts statt persönlicher Credentials