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 versuchen, ein Image aus Docker Hub abzurufen.

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

  • Sie werden in einem von Google Cloudverwalteten Repository gespeichert.
  • Sie sind stärker vor Docker Hub-Ausfällen isoliert.
  • Einbindung in das Google Cloud -Ökosystem
  • 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"]
      }
      
    • Übergeben Sie beim Starten des Daemons den Hostnamen von Artifact Registry:

      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 Bilder 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.

Verwenden Sie Artifact Registry-Remote-Repositories, um sich für Bilder, die nicht in mirror.gcr.io im Cache gespeichert sind, bei Docker Hub zu authentifizieren. Remote-Repositories unterstützen die Authentifizierung bei Docker Hub. Wir empfehlen, sich bei Docker Hub zu authentifizieren, auch wenn Sie nur öffentliche Images verwenden, da dadurch das Downloadratenlimit erhöht wird. Weitere Informationen zu den Downloadratenlimits für Docker Hub finden Sie unter Docker Hub-Ratenlimit.

Hinweise

Beachten Sie bei der Verwendung des Artifact Registry Docker Hub-Cache Folgendes:

  • Artifact Registry dient nur als Cache für die Images, die Sie in Docker Hub speichern. Google Cloud prüft, scannt oder behebt keine Sicherheitslücken in Images, die aus Docker Hub im Cache gespeichert wurden. Sie sind dafür verantwortlich, dass die Bilder, die Sie in Docker Hub speichern, den Sicherheits- und Compliance-Anforderungen Ihrer Organisation entsprechen. Wenn Sie einen aktiven Scan auf Sicherheitslücken benötigen, sollten Sie die Artefaktanalyse verwenden.

  • Der Artifact Registry-Cache soll die Stabilität verbessern. Images werden nicht sofort gelöscht, wenn sie aus Docker Hub entfernt werden. Aus Docker Hub gelöschte Images sind möglicherweise noch einige Tage lang im Artifact Registry-Cache verfügbar, bevor sie aus dem Cache entfernt werden. Google Cloud Dienste, die die Verwendung des Caches vorkonfigurieren, z. B. Cloud Build und Google Kubernetes Engine, verwenden möglicherweise weiterhin automatisch nicht bereinigte Images aus dem Artifact Registry-Cache.

Nächste Schritte