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 que use una imagen pública almacenada en caché si hay alguna disponible o para que extraiga la imagen de Docker Hub si no hay ninguna copia almacenada en caché.
Las imágenes almacenadas en caché a las mirror.gcr.io
son:
- Se almacena en un repositorio gestionado por Google Cloud.
- Mayor aislamiento frente a las interrupciones de Docker Hub.
- Integrado con el ecosistema de Google Cloud .
- Se mantiene sincronizado con Docker Hub.
Configurar el daemon de Docker
Para configurar tu daemon de Docker de forma que extraiga imágenes de la caché de Artifact Registry, sigue estos pasos:
CLI
Configure el daemon de una de las siguientes formas:
Para configurar el daemon de Docker automáticamente al inicio, define el siguiente valor en
/etc/docker/daemon.json
:{ "registry-mirrors": ["https://mirror.gcr.io"] }
Cuando inicies el daemon, introduce el nombre de host de Artifact Registry:
dockerd --registry-mirror=https://mirror.gcr.io
Añade 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
Interfaz de Docker
- Abre el menú Preferencias de Docker.
- Haz clic en Daemon.
Haz clic en Avanzado. En el campo JSON, añade 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 tener un aspecto 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
Extraer imágenes almacenadas en caché
Artifact Registry añade las imágenes solicitadas con frecuencia a la caché para que estén disponibles en futuras solicitudes. También elimina periódicamente las imágenes que ya no se solicitan.
Después de configurar el daemon de Docker para que use la caché de Artifact Registry, Docker sigue estos 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 obtiene las imágenes si existen. Si la configuración de tu daemon incluye otros espejos de Docker, el daemon comprueba cada uno de ellos en orden para buscar una copia en caché de la imagen.
- Si la imagen sigue sin encontrarse, el daemon de Docker la obtiene del repositorio canónico de Docker Hub.
Extraer imágenes almacenadas en caché no se tiene en cuenta en los límites de frecuencia de Docker Hub. Sin embargo, no se garantiza que una imagen concreta permanezca en la caché durante un periodo prolongado. Solo se obtienen imágenes almacenadas en caché en mirror.gcr.io
si configuras el daemon de Docker.
Para autenticarte en Docker Hub en el caso de las imágenes que no están almacenadas en caché en mirror.gcr.io
, usa los repositorios remotos de Artifact Registry. Los repositorios remotos admiten la autenticación en Docker Hub. Te recomendamos que te autentiques en Docker Hub aunque solo uses imágenes públicas, ya que así aumentarás el límite de velocidad de descarga. Para obtener más información sobre los límites de velocidad de descarga de Docker Hub, consulta Límite de velocidad de Docker Hub.
Siguientes pasos
- Puedes crear repositorios remotos de Artifact Registry para almacenar en caché imágenes de Docker Hub.
- Puedes crear tus propios espejos de Docker locales para almacenar imágenes en caché. Para obtener más información, consulta la documentación de Docker.
- Consulta la documentación de Docker Hub.