Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Container Registry es un servicio de registro privado para compilar, almacenar y proporcionar imágenes de contenedor y artefactos relacionados. En este inicio rápido, creará una instancia de Azure Container Registry mediante Azure PowerShell localmente. A continuación, con la CLI de Docker extraerá una imagen de contenedor hello-world, etiquetará la imagen de contenedor hello-world para crear una nueva imagen de contenedor, insertará la nueva imagen de contenedor en el registro de contenedor, eliminará la imagen de contenedor local y por último, extraerá y ejecutará la imagen del registro.
Requisitos previos
Nota:
Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Este inicio rápido requiere el módulo Azure PowerShell. Ejecute Get-Module -ListAvailable Az
para determinar la versión instalada. Si necesita instalarla o actualizarla, consulte el artículo sobre Cómo instalar el módulo de Azure PowerShell.
También debe tener instalado Docker localmente. Docker ofrece paquetes para los sistemas macOS, Windows, y Linux.
Dado que Azure Cloud Shell no incluye todos los componentes necesarios de Docker (como por ejemplo el demonio dockerd
), no se puede usar Cloud Shell en este tutorial de inicio rápido.
Inicio de sesión en Azure
Inicie sesión en la suscripción de Azure con el comando Connect-AzAccount y siga las instrucciones de la pantalla.
Connect-AzAccount
Creación de un grupo de recursos
Una vez se haya autenticado con Azure, debe crear un grupo de recursos con New-AzResourceGroup. Un grupo de recursos es un contenedor lógico en el que se implementan y se administran los recursos de Azure.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Crear un registro de contenedor
A continuación, cree un registro de contenedor en el nuevo grupo de recursos mediante el comando New-AzContainerRegistry.
El nombre del registro debe ser único dentro de Azure y contener entre 5 y 50 caracteres alfanuméricos. En el ejemplo siguiente se crea un registro denominado "mycontainerregistry". Reemplace mycontainerregistry en el siguiente comando y a continuación, ejecútelo para crear el registro:
$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS
Sugerencia
En este inicio rápido, creará un registro estándar , lo que es suficiente para la mayoría de los flujos de trabajo de Azure Container Registry. Elija otros niveles para aumentar el rendimiento de almacenamiento e imagen, y funcionalidades como la conexión mediante un punto de conexión privado. Para más información sobre los niveles de servicio disponibles (SKU), consulte SKU de Azure Container Registry.
Iniciar sesión en el registro
Antes de insertar y extraer imágenes del contenedor, debe iniciar sesión en el registro con el cmdlet Connect-AzContainerRegistry. En el ejemplo siguiente se usan las mismas credenciales con las que inició sesión al autenticarse en Azure con el cmdlet Connect-AzAccount
.
Nota:
En el ejemplo siguiente, el valor de $registry.Name
es el nombre del recurso, no el nombre completo del registro.
Connect-AzContainerRegistry -Name $registry.Name
El comando devolverá Login Succeeded
una vez completado.
Insertar la imagen en el registro
Para insertar una imagen en Azure Container Registry, primero debe tener una imagen. Si aún no tiene ninguna imagen de contenedor local, ejecute el siguiente comando docker pull para extraer una imagen pública existente. Para este ejemplo, extraiga la imagen hello-world
desde Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Para poder insertar una imagen en el registro, debe etiquetarla mediante la etiqueta docker con el nombre completo del servidor de inicio de sesión del registro.
- El formato de nombre del servidor de inicio de sesión para los registros protegidos con etiqueta de nombre de dominio (DNL) con un hash de nombre DNS único incluido es
mycontainerregistry-abc123.azurecr.io
. - El formato de nombre del servidor de inicio de sesión para los registros creados con la
Unsecure
opción DNL esmycontainerregistry.azurecr.io
.
Por ejemplo, si el registro se creó con el Tenant Reuse
ámbito DNL, el servidor de inicio de sesión podría parecerse mycontainerregistry-abc123.azurecr.io
con un hash en el nombre DNS. Si el registro se creó con la Unsecure
opción DNL, el servidor de inicio de sesión tendría el aspecto mycontainerregistry.azurecr.io
sin el hash.
Para obtener más información sobre las opciones de DNL durante la creación del registro y las implicaciones del nombre DNS, consulte Inicio rápido: Creación de un registro en el portal.
Ejemplo: Etiquetado de una imagen antes de empujar
Etiquete la imagen mediante el comando docker tag mediante el servidor de inicio de sesión del registro.
Etiquetado de la imagen para un registro que no es DNL:
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Etiquetado de imagen para un registro con DNL habilitado
docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1
Por último, use el comando docker push para insertar la imagen en la instancia del registro. Reemplace <login-server>
por el nombre del servidor de inicio de sesión de la instancia del registro. Este ejemplo crea el repositorio hello-world, que contiene la imagen hello-world:v1
.
docker push <login-server>/hello-world:v1
Después de insertar la imagen en el registro de contenedor, quite la imagen hello-world:v1
de su entorno de Docker local. (Tenga en cuenta que este comando de Docker rmi no quita la imagen del repositorio hello-world en el registro de contenedor de Azure).
docker rmi <login-server>/hello-world:v1
Ejecución de la imagen del registro
Ahora, puede extraer y ejecutar la imagen de contenedor hello-world:v1
desde el registro de contenedor mediante docker run:
docker run <login-server>/hello-world:v1
Salida de ejemplo:
Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1
Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]
Limpieza de recursos
Cuando haya terminado de trabajar con los recursos que creó en este inicio rápido, use el comando Remove-AzResourceGroup para quitar el grupo de recursos, el registro de contenedor y las imágenes de contenedor almacenadas allí:
Remove-AzResourceGroup -Name myResourceGroup
Pasos siguientes
En este inicio rápido, ha creado una instancia de Azure Container Registry mediante Azure PowerShell localmente, extrajo una imagen de contenedor hello-world, etiquetó la imagen hello-world para crear una nueva imagen de contenedor, insertó la nueva imagen de contenedor en el registro de contenedor, eliminó la imagen de contenedor local y por último, extrajo y ejecutó la imagen del registro. Siga los tutoriales de Azure Container Registry para información más detallada de ACR.