Introducción a Azure Container Registry

Contenidos

logo azul

En el desarrollo de software, parece que no importa a dónde vaya, no importa con quién hable, los contenedores son la nueva normalidad. Si aún no los está desarrollando o migrando su aplicación, está creando sistemas de soporte que los usan para admitir una aplicación heredada. Los contenedores están por todas partes.

A pesar de esto, esto significa que, como ingeniero, deberá colocar sus contenedores en algún lugar. En los viejos tiempos, esto significaba construir un artefacto de algún tipo, ya sea un binario o un archivo, posteriormente escribirlo en un disco o en un archivo compartido y distribuirlo. En el ecosistema de contenedores, será un registro de contenedores y los artefactos que cree serán imágenes de contenedores.

Idealmente, un registro de contenedores estaría en un lugar seguro que podría automatizar parte del trabajo para usted, como el escaneo de contenedores y desencadenar acciones en cada confirmación o en una programación. Por suerte, Azure lo tiene cubierto con todo lo anterior con Azure Container Registry, o ACR para abreviar.

Prerrequisitos

Para seguir adelante, necesitará lo siguiente:

  • Una cuenta de Azure
  • Un contenedor para empujar y tirar del repositorio
  • (Opcional) Una terminal de PowerShell autenticada en Azure o una instancia de CloudShell

El contenedor no tiene que ser nada más que hello-world debido a que este es un tutorial sobre los registros de contenedores, no los contenedores en sí. Si no está familiarizado con Docker o los contenedores, puede obtener más información sobre ellos. aquí.

Creando el Registro

Lo primero que debe hacer es crear un registro, primero con Azure Portal y posteriormente con Azure PowerShell.

Usando el portal

Vaya a «Crear un recurso», posteriormente busque en Contenedores> Registro de contenedores.

Busque en Contenedores> Registro de contenedores.» width=»938″ height=»650″ onload=»pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);» onerror=»this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);»></p><p>Después, se le pedirá que complete información sobre en qué cuenta de almacenamiento y suscripción colocar el registro. Se considera una mejor práctica colocar el registro en la misma región en la que implementará los contenedores.</p><p><img data-lazyloaded=

Una vez que esté aprovisionado, vaya a la página de recursos y busque la pestaña «Claves de acceso». Desde aquí, asegúrese de habilitar la opción «Usuario administrador» para que pueda iniciar sesión usando la CLI más adelante.

En "Claves de acceso", habilite la opción "Usuario administrador".

Utilizar Azure PowerShell

Con Azure PowerShell, esto se hace con una línea, ya sea en una instancia de CloudShell o en una consola de PowerShell autenticada localmente con el módulo de Azure PowerShell instalado.

New-AzContainerRegistry -ResourceGroupName <Resource Group Name> -Name <Registry Name> -EnableAdminUser

A continuación, puede usar el Get-AzContainerRegistry cmdlet para enumerar los registros asociados con su inquilino. Aún necesitarás el LoginServer para enviar su imagen al registro, pero puede extraerla de Azure PowerShell que se muestra en el resto de la demostración.

Use el cmdlet Get-AzContainerRegistry para enumerar los registros asociados con su inquilino.

Siempre que hayas incluido el -EnableAdminUser bandera, además podrá usar la Get-AzContainerRegistryCredential cmdlet para obtener las credenciales de inicio de sesión para el siguiente paso.

Use el cmdlet Get-AzContainerRegistryCredential para obtener las credenciales de inicio de sesión.

Empujar la imagen a ACR

Ahora que el registro y el usuario están configurados, es hora de iniciar sesión y enviarle una imagen. Puede iniciar sesión usando el docker login mando. Si está usando una secuencia de comandos, asegúrese de que las credenciales no se muestren en texto sin formato, pasándolas de esta manera o usando Azure Key Vault.

# Azure PowerShell

$RG_NAME  = <Resource_Group_Name>
$ACR_NAME = <Registry_Name>

$registry = Get-AzContainerRegistry -ResourceGroupName $RG_NAME -Name $ACR_NAME
$creds = Get-AzContainerRegistryCredential -Registry $registry
$creds.Password | docker login $registry.LoginServer -u $creds.Username --password-stdin

Si lo está haciendo manualmente, simplemente ejecute docker login <RegistryURL> y reemplace «» con el valor de «Servidor de inicio de sesión» en la pestaña Claves de acceso de antes, posteriormente el nombre de usuario y la contraseña del administrador.

Ahora que ha iniciado sesión, puede enviar y extraer imágenes de contenedores del repositorio tanto como desee. Una vez que haya construido o extraído un contenedor localmente, use el docker tag comando para agregar la URL del registro y la etiqueta de versión a la imagen, posteriormente el docker push comando para empujarlo a ACR. Debería verse algo como esto:

# Docker CLI

docker tag <Image_Name> <Registry_URL>/<Image_Name>:<Version_Tag>
docker push <Registry_URL>/<Image_Name>:<Version_Tag>

Con la imagen en ACR, puede usar el docker pull desde cualquier dispositivo autenticado para extraer la imagen y ejecutarla.

Utilice la extracción de la ventana acoplable de cualquier dispositivo autenticado para extraer la imagen y ejecutarla.

Resumen

A estas alturas, ya debería estar familiarizado con cómo configurar un registro en ACR a través de Azure Portal o Azure PowerShell, así como con la forma de insertar y extraer contenedores de él.

Desde aquí, puede buscar habilitar el escaneo de vulnerabilidades de contenedores con Centro de seguridad de Azure o automatización usando Tareas de ACR.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.