Artifact Registry almacena en caché las imágenes públicas de Docker Hub a las que se accede con frecuencia en mirror.gcr.io
. Puedes configurar el daemon de Docker para usar una imagen pública en caché, si existe una, o extraer la imagen de Docker Hub si no hay una copia almacenada en caché.
Los servicios de Google Cloud, como Cloud Build y Google Kubernetes Engine, comprueban de forma automática si hay imágenes en caché antes de intentar extraer una imagen de Docker Hub.
Las imágenes almacenadas en caché en mirror.gcr.io
son las siguientes:
- Se almacena en un repositorio que administra Google.
- Están más aisladas de las interrupciones de Docker Hub.
- Se integran fácilmente en el ecosistema de Google Cloud.
- Se mantienen sincronizadas con Docker Hub.
Configura el daemon de Docker
Para configurar tu daemon de Docker a fin de extraer imágenes desde Artifact Registry caché:
CLI
Configura el daemon de una de las siguientes maneras:
Para configurar el daemon de Docker automáticamente al inicio, establece el siguiente valor como
/etc/docker/daemon.json
{ "registry-mirrors": ["https://mirror.gcr.io"] }
Cuando inicies el daemon, pasa Artifact Registry Nombre de host:
dockerd --registry-mirror=https://mirror.gcr.io
Agrega la siguiente línea a tu archivo
/etc/default/docker
:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
Reinicia el daemon de Docker.
En Linux, ejecuta uno de los siguientes comandos:
sudo service docker restart
o
sudo service docker stop && sudo service docker start
En macOS o Windows, ejecuta el siguiente comando:
docker-machine restart
IU de Docker
- Abre el menú Preferencias de Docker.
- Haz clic en Daemon.
Haz clic en Avanzado. En el campo JSON, agrega una clave
registry-mirrors
conhttps://mirror.gcr.io
como valor:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
Haz clic en Aplicar y reiniciar.
Para verificar que la caché esté configurada correctamente, ejecuta el siguiente comando:
docker system info
El resultado debe incluir Registry Mirrors
y debería ser similar al siguiente:
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
Extrae imágenes almacenadas en caché
Artifact Registry agrega las imágenes solicitadas con más frecuencia a la caché a fin de que estén disponibles para solicitudes futuras. También quita las imágenes que ya no se solicitan de forma periódica.
Después de configurar el daemon de Docker para usar la caché de Artifact Registry,
Docker realiza los siguientes pasos cuando extraes una imagen pública de Docker Hub
con un comando docker pull
:
- El daemon de Docker comprueba la caché de Artifact Registry y recupera las imágenes si las hay. Si tu configuración de daemon incluye otras duplicaciones de Docker, el daemon verifica cada una para obtener una copia almacenada en caché de la imagen.
- Si la imagen aún no se encuentra, el daemon de Docker recupera la imagen desde el repositorio canónico de Docker Hub.
La extracción de imágenes almacenadas en caché no cuenta para los límites de frecuencia de Docker Hub. Sin embargo, no hay garantía de que una imagen en particular se almacene en caché por un período prolongado. Obtén solo imágenes almacenadas en caché en mirror.gcr.io
mediante la configuración del daemon de Docker.
Para autenticarte en Docker Hub para las imágenes que no están almacenadas en caché en mirror.gcr.io
,
usa los repositorios remotos de Artifact Registry. Control remoto
los repositorios admiten la autenticación en Docker Hub. Te recomendamos que te autentiques en Docker Hub, incluso si solo usas imágenes públicas, ya que aumentará tu límite de velocidad de descarga. Para obtener más información sobre los límites de velocidad de descarga de Docker Hub,
consulta el límite de frecuencia de Docker Hub.
¿Qué sigue?
- Puedes crear repositorios remotos de Artifact Registry para almacenar en caché las imágenes de Docker Hub.
- Puedes crear tus propias duplicaciones de Docker locales para almacenar en caché las imágenes. Para obtener más detalles, consulta la documentación de Docker.
- Lee la documentación de Docker Hub.