Artifact Registry met en cache les images Docker Hub publiques les plus demandées sur mirror.gcr.io
. Vous pouvez configurer le daemon Docker pour utiliser une image publique mise en cache si elle est disponible, ou extraire l'image de Docker Hub si une copie mise en cache n'est pas disponible.
Les services Google Cloud tels que Cloud Build et Google Kubernetes Engine recherchent automatiquement des images mises en cache avant d'essayer d'extraire une image de Docker Hub.
Les images mises en cache sur mirror.gcr.io
sont :
- stockées dans un dépôt géré par Google ;
- davantage isolées en cas de pannes de Docker Hub ;
- faciles à intégrer à l'écosystème Google Cloud ;
- synchronisées avec Docker Hub.
Configurer le daemon Docker
Configurer votre daemon Docker pour extraire des images d'Artifact Registry : cache:
CLI
Configurez le daemon de l'une des manières suivantes :
Pour configurer automatiquement le daemon Docker au démarrage, définissez la valeur suivante dans
/etc/docker/daemon.json
:{ "registry-mirrors": ["https://mirror.gcr.io"] }
Lorsque vous démarrez le daemon, transmettez le nom d'hôte Artifact Registry :
dockerd --registry-mirror=https://mirror.gcr.io
Ajoutez la ligne suivante à votre fichier
/etc/default/docker
:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
Redémarrez le daemon Docker :
Sous Linux, exécutez l'une des commandes suivantes :
sudo service docker restart
ou
sudo service docker stop && sudo service docker start
Sous macOS ou Windows, exécutez la commande suivante :
docker-machine restart
Interface utilisateur Docker
- Ouvrez le menu Preferences (Préférences) de Docker.
- Cliquez sur Daemon.
Cliquez sur Advanced (Paramètres avancés). Dans le champ JSON, ajoutez une clé
registry-mirrors
ayant comme valeurhttps://mirror.gcr.io
:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
Cliquez sur Apply & Restart (Appliquer et redémarrer).
Pour vérifier que le cache est correctement configuré, exécutez la commande suivante :
docker system info
Le résultat doit inclure les miroirs Registry Mirrors
et ressembler à ce qui suit :
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
Extraire des images mises en cache
Artifact Registry ajoute au cache les images fréquemment demandées afin qu'ils soient disponibles pour de futures requêtes. Il supprime également régulièrement les images qui ne sont plus demandées.
Après avoir configuré le daemon Docker pour utiliser le cache Artifact Registry,
Docker effectue les étapes suivantes lorsque vous extrayez une image Docker Hub publique
à l'aide d'une commande docker pull
:
- Le daemon Docker vérifie le cache d'Artifact Registry et récupère les images, le cas échéant. Si la configuration de votre daemon inclut d'autres miroirs Docker, le daemon vérifie chacun d'entre eux afin d'obtenir une copie mise en cache de l'image.
- S'il ne trouve toujours pas l'image, le daemon Docker la récupère depuis le dépôt canonique sur Docker Hub.
L'extraction d'images mises en cache n'est pas comptabilisée dans les limites de débit de Docker Hub. Cependant, rien ne garantit qu'une image donnée restera en cache pendant une période prolongée. Vous pouvez obtenir uniquement les images mises en cache sur mirror.gcr.io
en configurant le daemon Docker.
Pour vous authentifier auprès de Docker Hub concernant les images qui ne sont pas mises en cache sur mirror.gcr.io
, procédez comme suit :
Utilisez des dépôts distants Artifact Registry. Les dépôts distants sont compatibles avec l'authentification auprès de Docker Hub. Nous vous recommandons de vous authentifier sur Docker Hub, même si vous n'utilisez que des images publiques, car cela augmentera votre limite de débit de téléchargement. Pour en savoir plus sur les limites de débit de téléchargement de Docker Hub, consultez
consultez la section Limite de débit Docker Hub.
Étape suivante
- Vous pouvez créer des dépôts distants Artifact Registry pour mettre en cache des images Docker Hub.
- Vous pouvez créer vos propres miroirs Docker locaux pour mettre en cache des images. Pour en savoir plus, consultez la documentation Docker.
- Lisez la documentation de Docker Hub.