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 che esegua il pull dell'immagine da Docker Hub se non è disponibile una copia memorizzata nella cache.
Le immagini memorizzate nella cache su mirror.gcr.io sono:
- Archiviate in un repository gestito da Google Cloud.
- Più isolate dalle interruzioni di Docker Hub.
- Integrate con l' Google Cloud ecosistema.
- Mantenute sincronizzate con Docker Hub.
Configurare il daemon Docker
Per configurare il daemon Docker in modo che esegua il pull delle immagini dalla cache di Artifact Registry:
CLI
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, trasmetti il nome host di Artifact Registry:
dockerd --registry-mirror=https://mirror.gcr.ioAggiungi la seguente riga al file
/etc/default/docker:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
Riavvia il daemon Docker.
Su Linux, esegui uno dei seguenti comandi:
sudo service docker restarto
sudo service docker stop && sudo service docker startSu macOS o Windows, esegui il seguente comando:
docker-machine restart
UI Docker
- Apri il menu Preferenze di Docker.
- Fai clic su Daemon.
Fai clic su Avanzate. Nel campo JSON, aggiungi una chiave
registry-mirrorsconhttps://mirror.gcr.iocome valore:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }Fai clic su Applica e riavvia.
Per verificare che la cache sia configurata correttamente, esegui:
docker system info
L'output deve includere Registry Mirrors e avere un aspetto simile al seguente:
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
Eseguire il pull delle immagini memorizzate nella cache
Artifact Registry aggiunge alla cache le immagini richieste di frequente in modo che siano disponibili per le richieste future. Rimuove anche periodicamente le immagini non più richieste.
Dopo aver configurato il daemon Docker in modo che utilizzi 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:
- Il daemon Docker controlla la cache di Artifact Registry e recupera le immagini, se esistenti. Se la configurazione del daemon include altri mirror Docker, il daemon controlla ciascuno in ordine per una copia memorizzata nella cache dell'immagine.
- 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 è garantito che una determinata immagine rimanga memorizzata nella cache per un periodo di tempo prolungato. Ottieni le immagini memorizzate nella cache su mirror.gcr.io solo
configurando il daemon Docker.
Per eseguire l'autenticazione a Docker Hub per le immagini non memorizzate nella cache su mirror.gcr.io, utilizza i repository remoti di Artifact Registry. I repository remoti supportano l'autenticazione a Docker Hub. Ti consigliamo di eseguire l'autenticazione a Docker Hub anche se utilizzi solo immagini pubbliche, in quanto aumenterà il limite di frequenza di download. Per ulteriori informazioni sui limiti di frequenza di download di Docker Hub,
consulta Limite di frequenza di Docker Hub.
Considerazioni
Quando utilizzi la cache di Docker Hub di Artifact Registry, tieni presente quanto segue:
Artifact Registry funge solo da cache per le immagini che archivi su Docker Hub. Google Cloud non convalida, analizza o ripara le vulnerabilità nelle immagini memorizzate nella cache da Docker Hub. È tua responsabilità assicurarti che le immagini che archivi su Docker Hub soddisfino i requisiti di sicurezza e conformità della tua organizzazione. Se hai bisogno di una scansione attiva delle vulnerabilità, valuta la possibilità di utilizzare Artifact Analysis.
La cache di Artifact Registry è progettata per migliorare la stabilità e non elimina immediatamente le immagini quando vengono rimosse da Docker Hub. Le immagini eliminate da Docker Hub potrebbero rimanere disponibili nella cache di Artifact Registry per un massimo di diversi giorni prima che vengano rimosse dalla cache. Google Cloud i servizi che preconfigurano l'utilizzo della cache, come Cloud Build e Google Kubernetes Engine, potrebbero continuare a utilizzare automaticamente le immagini non eliminate dalla cache di Artifact Registry.
Passaggi successivi
- Puoi creare repository remoti di Artifact Registry per memorizzare nella cache le immagini Docker Hub.
- Puoi creare i tuoi mirror Docker locali per memorizzare nella cache le immagini. Per maggiori dettagli, consulta la documentazione di Docker.
- Leggi la documentazione di Docker Hub.