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.
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.
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.
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.
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 «
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.
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.