Eseguire il pull delle immagini Docker Hub memorizzate nella cache

Artifact Registry memorizza nella cache le immagini Docker Hub pubbliche a cui viene eseguito l'accesso con frequenza su mirror.gcr.io. Puoi configurare il daemon Docker in modo che utilizzi un'immagine pubblica memorizzata nella cache, se disponibile, o estrarre l'immagine da Docker Hub se non è disponibile una copia memorizzata nella cache.

Servizi Google Cloud come Cloud Build e Google Kubernetes Engine automaticamente verifica la presenza di immagini memorizzate nella cache prima di tentare di eseguire il pull di un'immagine da Docker Hub.

Le immagini memorizzate nella cache all'indirizzo mirror.gcr.io sono:

  • Archiviati in un repository gestito da Google.
  • Più al riparo dalle interruzioni di Docker Hub.
  • Facilmente integrato con l'ecosistema Google Cloud.
  • Mantenuto sincronizzato con Docker Hub.

Configurazione del daemon Docker

Per configurare il tuo daemon Docker per eseguire il pull delle immagini da Artifact Registry Cache:

Interfaccia a riga di comando

  1. Configura il daemon in uno dei seguenti modi:

    • Per configurare automaticamente il daemon Docker all'avvio, imposta il seguente valore in /etc/docker/daemon.json

      {
        "registry-mirrors": ["https://mirror.gcr.io"]
      }
      
    • Quando avvii il daemon, passalo in Artifact Registry nome host:

      dockerd --registry-mirror=https://mirror.gcr.io
      
    • Aggiungi la seguente riga al file /etc/default/docker:

      DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
      
  2. Riavvia il daemon Docker.

    • Su Linux, esegui uno dei seguenti comandi:

      sudo service docker restart
      

      o

      sudo service docker stop && sudo service docker start
      
    • Su macOS o Windows, esegui il seguente comando:

      docker-machine restart
      

Interfaccia utente di Docker

  1. Apri il menu Preferenze di Docker.
  2. Fai clic su Daemon.
  3. Fai clic su Avanzate. Nel campo JSON, aggiungi una chiave registry-mirrors con https://mirror.gcr.io come valore:

    {
      "registry-mirrors" : [
        "https://mirror.gcr.io"
      ]
    }
    
  4. Fai clic su Applica e Riavvia.

Per verificare che la cache sia configurata correttamente, esegui:

docker system info

L'output dovrebbe includere Registry Mirrors e dovrebbe essere simile a le seguenti:

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

Estrazione delle immagini memorizzate nella cache

Artifact Registry aggiunge alla cache le immagini richieste di frequente in modo che siano disponibili per richieste future. Inoltre, rimuove periodicamente le immagini che non vengono più richieste.

Dopo aver configurato il daemon Docker per utilizzare la cache di Artifact Registry, Docker esegue i seguenti passaggi quando esegui il pull di un'immagine Docker Hub pubblica con un comando docker pull:

  1. Il daemon Docker controlla la cache di Artifact Registry ed esegue il recupero delle immagini, se presenti. Se la configurazione del daemon include altri mirror Docker, il daemon li controlla tutti per trovare una copia memorizzata nella cache dell'immagine.
  2. Se l'immagine non viene ancora trovata, il daemon Docker la recupera dal repository canonico su Docker Hub.

Il pull delle immagini memorizzate nella cache non viene conteggiato ai fini dei limiti di frequenza di Docker Hub. Tuttavia, non vi è alcuna garanzia che una determinata immagine rimanga memorizzata nella cache per un periodo di tempo prolungato. Ottieni le immagini memorizzate nella cache solo su mirror.gcr.io tramite configurare il daemon Docker.

Per autenticarti su Docker Hub per le immagini che non sono memorizzate nella cache su mirror.gcr.io, utilizza i repository remoti di Artifact Registry. Telecomando supportano l'autenticazione in Docker Hub. Ti consigliamo di autenticarti su Docker Hub anche se utilizzi solo immagini pubbliche, in quanto aumenterà il limite di velocità in download. Per ulteriori informazioni sui limiti di velocità di download di Docker Hub, consulta la pagina Limite di velocità di Docker Hub.

Passaggi successivi