Learning Center
Docker-Plattform

Externe Docker-Registrys konfigurieren

5 Nov. 2025
Hostman Team
Hostman Team

Bei der Arbeit mit Docker werden sogenannte Images verwendet – ausführbare Dateien, die alles enthalten, was zum Ausführen einer Anwendung erforderlich ist, einschließlich Quellcode, Bibliotheken und Abhängigkeiten. Diese Images werden in speziellen Repositories gespeichert, den sogenannten Registrys, die entweder privat oder öffentlich sein können.

Die bekannteste öffentliche Registry ist Docker Hub, wo viele offizielle Images wie Nginx, PostgreSQL, Alpine, Ubuntu, Node und MongoDB zu finden sind. Benutzer können sich bei Docker Hub registrieren und dort eigene Images speichern – standardmäßig mit einem öffentlichen und drei privaten Repositories. Docker Hub ist die Standard-Registry, die Docker zum Herunterladen (Pull) von Images verwendet.

Dieser Leitfaden zeigt, wie man die Standard-Registry in Docker auf eine andere umstellt.

Verwendung externer Docker-Registrys
Link kopieren

Eine einfache Möglichkeit, externe Registrys zu nutzen, besteht darin, Drittanbieter-Registrys zu verwenden, die von Unternehmen wie Google oder Amazon bereitgestellt werden.

Hier eine Liste öffentlicher Registrys, die verwendet werden können:

⚠️ Hinweis: Die Nutzung externer Docker-Registrys kann Sicherheitsrisiken bergen – gehe daher vorsichtig vor.

Im Folgenden wird beschrieben, wie du die Standard-Registry (Docker Hub) auf eine andere umstellst.

Linux-Konfiguration
Link kopieren

Öffne die Datei daemon.json mit einem beliebigen Texteditor.

Wenn Docker nicht im Rootless-Modus installiert wurde, befindet sich die Datei unter:

/etc/docker/daemon.json

Falls sie nicht existiert, wird sie mit diesem Befehl erstellt:

nano /etc/docker/daemon.json

Für Rootless Docker liegt die Datei im Benutzerverzeichnis unter:

~/.config/docker/daemon.json

Erstelle sie ggf. mit:

nano ~/.config/docker/daemon.json

Füge den folgenden Parameter hinzu, um eine neue Standard-Registry festzulegen (im Beispiel: Google Mirror Registry):

{

  "registry-mirrors": ["https://mirror.gcr.io"]

}

Speichere und schließe die Datei.

Starte anschließend den Docker-Dienst neu, um die Änderungen zu übernehmen:

systemctl reload docker

Nun verwendet Docker beim Herunterladen von Images die neue Registry.

Beispiel: Ziehe das Alpine-Image aus der Google-Registry:

docker pull mirror.gcr.io/alpine

Du kannst auch eine bestimmte Version angeben, z. B.:

docker pull mirror.gcr.io/nginx:1.25.2

Windows-Konfiguration (Docker Desktop)
Link kopieren

Öffne die Datei daemon.json, die sich hier befindet:

C:\Users\<dein_benutzername>\.docker\daemon.json

Füge den Registry-Mirror-Parameter hinzu:

{

  "registry-mirrors": ["https://mirror.gcr.io"]

}

Speichere die Datei und starte Docker neu. Klicke dazu mit der rechten Maustaste auf das Docker-Symbol in der Taskleiste und wähle "Restart".

Alternativ kannst du die Einstellung direkt über die Docker Desktop-Oberfläche vornehmen - Navigiere zu Settings → Docker Engine und füge Folgendes hinzu:

{

  "registry-mirrors": ["https://mirror.gcr.io"]

}

 

Klicke anschließend auf Apply & Restart, um die Änderungen zu übernehmen.

Nach dem Neustart wird Docker die neue Registry für Image-Pulls verwenden.
Beispiel: Lade ein curl-Image herunter:

docker pull mirror.gcr.io/curlimages/curl

Oder ziehe eine bestimmte Version:

docker pull mirror.gcr.io/node:21-alpine

Verwendung von Nexus als Docker-Registry
Link kopieren

Alternativ kannst du Nexus verwenden, um Docker-Images zu verwalten. Nexus unterstützt sogenannte Proxy-Repositories, die Images aus externen Registrys wie Docker Hub zwischenspeichern (cachen). So kann Nexus als Caching-Proxy fungieren, falls externe Registrys vorübergehend nicht erreichbar sind.

Einrichten eines Proxy-Repositories in Nexus
Link kopieren

  1. Melde dich in Nexus mit einem Administrator oder einem Benutzer mit Repository-Verwaltungsrechten an.

  2. Gehe zu Server Administration and Configuration → Repositories.

  3. Klicke auf Create repository und wähle den Typ docker (proxy).

  4. Fülle die erforderlichen Felder aus:

    • Name: Vergib einen eindeutigen Namen für das Repository.

    • Online: Aktivieren, damit das Repository Anfragen annehmen kann.

    • Proxy-Server: Wenn Nexus hinter einem Proxy (z. B. Nginx) läuft, sind keine Ports für Authentifizierung erforderlich.
      Ohne Proxy sollte ein eindeutiger Port für HTTP oder HTTPS zugewiesen werden.

    • Allow anonymous docker pull: Aktivieren, um Images ohne Anmeldung zu ziehen.
      Falls deaktiviert, ist ein Login erforderlich.

    • Remote storage: Gib die URL der externen Registry an (z. B. https://registry-1.docker.io für Docker Hub).

Nach dem Erstellen des Repositories kannst du dich – falls erforderlich – bei Nexus anmelden:

docker login <nexus_registry_address>

Ein Image wird dann wie folgt heruntergeladen:

docker pull <nexus_registry_address>/image_name:tag

Beispiel: Ziehe ein Python-Image mit Tag 3.8.19-alpine:

docker pull nexus-repo.com/python:3.8.19-alpine

⚠️ Sicherheits-Tipp: Verwende nicht den Tag latest, da er potenziell instabile oder unsichere Versionen enthalten kann.

Fazit
Link kopieren

Dieser Artikel hat verschiedene Methoden gezeigt, um Docker-Images herunterzuladen und zu speichern. Externe Registrys können nützlich sein, wenn die Standard-Registry (Docker Hub) nicht verfügbar ist. Wenn du externen Anbietern nicht vertraust, kannst du jederzeit deine eigene private oder öffentliche Docker-Registry einrichten – etwa über Nexus oder Harbor.