Publicar tu imagen de Docker en Azure Container Registry
La primera vez que compartes una imagen seguramente sea a través de los repositorios públicos de Docker Hub, como te conté ayer. Sin embargo, está claro que en la mayoría de los escenarios, sobre todo los empresariales, necesitamos algo privado, no compartido con el mundo entero. Hay diferentes opciones de registros privados, como el propio Docker Hub, crearte uno en local o usar alguna de las nubes. Hoy te quiero contar el registro privado que ofrece Microsoft Azure, llamado Azure Container Registry.
Crea tu registro privado en Microsoft Azure
Para crear un registro privado en Microsoft Azure accede al portal y busca Container a través del botón Create a resource del menú. Selecciona el servicio Container Registry.
Para este ejemplo he utilizado el SKU Basic, ya que es más que suficiente.
Vamos a continuar con el mismo ejemplo, para no perder el hilo. Lo primero que necesitas es, al igual que hicimos en el post anterior, subir tu imagen de nodejs-webapp al registro, en este caso en Azure. A diferencia de Docker Hub, para poder conectarte a este nuevo registro necesitas tener instalado Azure CLI y ejecutar el siguiente comando:
Si tienes más de una suscripción, selecciona aquella en la que has creado el servicio a través de este otro comando:
Por último, haz login en tu Azure Container Registry, indicando como name el nombre que elegiste durante la creación:
Si el inicio de sesión ha sido satisfactorio aparecerá el mensaje de Login Succeeded. Si recuerdas el post de ayer, antes de subir tu imagen a cualquier registro es necesario utilizar una nomenclatura específica. En el caso de Docker Hub era tu_nombre_de_usuario/repositorio:etiqueta. En el caso de Azure Container Registry es nombre_del_servidor_de_registro/repositorio:etiqueta. El nombre de tu servidor puedes encontrarlo aquí:
En mi caso, el comando que tengo que lanzar para generar una imagen con la nomenclatura correcta sería:
Ahora ya puedo publicar mi imagen en Azure Container Registry, a través de docker push.
Cuando finalice la subida podrás ver la imagen en el apartado Repositories.
Por último, queda comprobar que es posible descargar e instanciar la imagen en un contenedor en local. Para hacer la prueba, vamos a parar todos los contenedores que tengamos ejecutándose:
Una vez parados los eliminamos:
Y eliminamos además todas las imágenes.
Ahora, con todo limpísimo, ejecuta el siguiente comando para descargar e instanciar tu imagen, que ya está en Azure Container Registry.
El resultado será el siguiente:
Al igual que en las veces anteriores, puedes comprobar que la aplicación es accesible desde http://localhost:4000
Por último, para comprobar todas las imágenes que tienes disponible en tu repositorio privado puedes hacerlo desde el siguiente comando:
Imagen de portada por kyohei ito.
¡Saludos!