Im Cache gespeicherte Docker Hub-Images abrufen

Artifact Registry speichert öffentliche Docker Hub-Images, auf die häufig zugegriffen wird, auf mirror.gcr.io. Sie können den Docker-Daemon so konfigurieren, dass ein im Cache gespeichertes öffentliches Image verwendet wird, wenn eines verfügbar ist, oder das Image aus Docker Hub abrufen, wenn keine im Cache gespeicherte Kopie verfügbar ist.

Google Cloud-Dienste wie Cloud Build und Google Kubernetes Engine suchen automatisch nach im Cache gespeicherten Images, bevor sie versuchten, ein Image aus Docker Hub abrufen.

Im Cache gespeicherte Bilder unter mirror.gcr.io sind:

  • Sie sind in einem von Google verwalteten Repository gespeichert.
  • Sie sind stärker vor Docker Hub-Ausfällen isoliert.
  • Sie lassen sich leicht in das Google Cloud-System integrieren.
  • Wird ständig mit Docker Hub synchronisiert.

Docker-Daemon konfigurieren

So konfigurieren Sie Ihren Docker-Daemon zum Abrufen von Images aus dem Artifact Registry-Cache:

Befehlszeile

  1. So konfigurieren Sie den Daemon:

    • Damit der Docker-Daemon beim Start automatisch konfiguriert wird, legen Sie in /etc/docker/daemon.json folgenden Wert fest:

      {
        "registry-mirrors": ["https://mirror.gcr.io"]
      }
      
    • Geben Sie beim Starten des Daemons den Hostnamen von Artifact Registry an:

      dockerd --registry-mirror=https://mirror.gcr.io
      
    • Fügen Sie der Datei /etc/default/docker die folgende Zeile hinzu:

      DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
      
  2. Starten Sie den Docker-Daemon neu:

    • Führen Sie unter Linux einen der folgenden Befehle aus:

      sudo service docker restart
      

      oder

      sudo service docker stop && sudo service docker start
      
    • Führen Sie unter macOS oder Windows den folgenden Befehl aus:

      docker-machine restart
      

Docker-UI

  1. Öffnen Sie das Menü Einstellungen von Docker.
  2. Klicken Sie auf Daemon.
  3. Klicken Sie auf Erweitert. Geben Sie im JSON-Feld einen registry-mirrors-Schlüssel mit dem Wert https://mirror.gcr.io ein:

    {
      "registry-mirrors" : [
        "https://mirror.gcr.io"
      ]
    }
    
  4. Klicken Sie auf Anwenden und neu starten.

Führen Sie folgenden Befehl aus, um zu prüfen, ob der Cache richtig konfiguriert ist:

docker system info

Die Ausgabe sollte Registry Mirrors enthalten und in etwa so aussehen:

Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 2
Server Version: 17.03.1-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
...
Registry Mirrors:
 https://mirror.gcr.io

Im Cache gespeicherte Images abrufen

Artifact Registry fügt dem Cache häufig angeforderte Images hinzu, damit diese für zukünftige Anfragen zur Verfügung stehen. Außerdem werden regelmäßig Images entfernt, die nicht mehr angefordert werden.

Nachdem Sie den Docker-Daemon für die Verwendung des Artifact Registry-Cache konfiguriert haben, führt Docker die folgenden Schritte aus, wenn Sie ein öffentliches Docker Hub-Image mit einem docker pull-Befehl abrufen:

  1. Der Docker-Daemon überprüft den Artifact Registry-Cache und ruft die Images ab, sofern vorhanden. Wenn Ihre Daemon-Konfiguration andere Docker-Spiegel enthält, prüft der Daemon jeden, um im Cache gespeicherte Kopien des Images zu erstellen.
  2. Wenn das Image immer noch nicht gefunden wird, ruft der Docker-Daemon das Image aus dem kanonischen Repository auf Docker Hub ab.

Das Abrufen von im Cache gespeicherten Images wird nicht auf die Ratenbegrenzungen für Docker Hub angerechnet. Es gibt jedoch keine Garantie dafür, dass ein bestimmtes Image für einen längeren Zeitraum im Cache gespeichert wird. Rufen Sie nur im Cache gespeicherte Images auf mirror.gcr.io ab, indem Sie den Docker-Daemon konfigurieren.

So authentifizieren Sie sich bei Docker Hub für Images, die nicht im Cache von mirror.gcr.io gespeichert sind: Verwenden Sie Remote-Repositories von Artifact Registry. Remote-Repositories unterstützen die Authentifizierung bei Docker Hub. Wir empfehlen, sich auch dann bei Docker Hub zu authentifizieren, wenn Sie nur öffentliche Images verwenden, da dadurch die Downloadrate erhöht wird. Weitere Informationen zu den Downloadratenbeschränkungen von Docker Hub finden Sie unter Downloadratenbeschränkung für Docker Hub.

Nächste Schritte