Configuración de un registro de índice privado

Anteriormente, utilizamos un registro alojado por Docker (https://hub.docker.com) para enviar y recibir imágenes. Sin embargo, con frecuencia te encontrarás con casos de uso en los que debes alojar un registro privado en tu infraestructura. En esta receta, alojaremos nuestro propio registro privado utilizando la imagen registry:2 de Docker.

Preparación

Asegúrate de que el demonio de Docker versión 1.6.0 o superior esté ejecutándose en el host.

Cómo hacerlo…

Realiza los siguientes pasos:

  1. Comencemos lanzando un registro local en el contenedor utilizando el siguiente comando:
$ docker container run -d -p 5000:5000 \
                           --name registry registry:2
  1. Para enviar la imagen al registro local, debes anteponer el nombre del repositorio con el nombre de host localhost o la dirección IP 127.0.0.1 y el puerto del registro 5000 utilizando el comando de etiqueta de imagen de Docker, como se muestra en el siguiente código:
$ docker tag apache2 localhost:5000/apache2

Aquí, reutilizaremos la imagen apache2 que creamos en la receta anterior.

  1. Ahora, envíemos la imagen al registro local utilizando el comando docker image push, como se muestra en la siguiente captura de pantalla:

Diagrama

Cómo funciona…

El comando anterior para descargar la imagen descargará la imagen oficial del registro de Docker Hub y la ejecutará en el puerto 5000. La opción -p publica el puerto del contenedor en el sistema de host. Exploraremos detalles sobre la publicación de puertos en el próximo capítulo.

Hay más…

El registro tiene un marco de notificación que puede invocar WebHooks cuando recibe una solicitud de envío o recepción. Estos WebHooks se pueden encadenar con tu flujo de DevOps.

Ver también