Registro de imágenes en Docker

El registro de Docker (Registry) es la aplicación donde se van a almacenar nuestras imágenes y nos va a servir para distribuirlas entre los diferentes hosts donde queremos crear nuestros contenedores. El registro se distribuye gratuitamente bajo licencia Apache.

Ya hemos trabajado con el registro más popular, hub.docker.com. Este nos puede servir si no queremos mantener un registro propio.

Si queremos tener el control sobre nuestras imágenes en un entorno administrado, tendríamos que provisionar nuestro propio servidor con el registro instalado. 

El registro se distribuye como una imagen de Docker. Con esto podríamos tener dentro de nuestra infraestructura un contenedor que nos sirviera como registro propio.

Para hacerlo, solamente tendremos que arrancar un contenedor con la imagen registry: docker run -d -p 5000:5000 --name registry registry:2.

Utilizar un registro propio es la decisión adecuada en los siguientes casos:

  • La distribución de imágenes debe ser rápida o queremos ahorrarnos ancho de banda.
  • Queremos integrar la construcción de imágenes en un proceso de integración continua. El registro es capaz de enviar peticiones HTTP a servicios Web ante la ocurrencia de ciertos eventos.
  • Queremos tener el control sobre las imágenes (las imágenes en Docker Hub pueden cambiar o desaparecer).
  • Los hosts pertenecen a una red aislada que no tenga acceso a Docker Hub.

Flujo de trabajo típico