Inserción de la primera imagen en el registro de contenedor de Azure mediante la CLI de Docker

Un registro de contenedor de Azure almacena y administra imágenes privadas de contenedor y otros artefactos, de una forma similar a la que Docker Hub almacena imágenes de contenedor. Puede usar la interfaz de la línea de comandos de Docker (CLI de Docker) para, entre otras, realizar las siguientes operaciones de imágenes de contenedor en el registro de contenedor: iniciar sesión, insertar, extraer, etc.

En los pasos siguientes, se descarga una imagen de Nginx pública, se le asigna una etiqueta para el registro de contenedor de Azure privado, se inserta en el registro y luego se extrae de este.

Prerrequisitos

  • Registro de contenedor de Azure: cree un registro de contenedor en la suscripción de Azure. Por ejemplo, use Azure Portal, la CLI de Azure o Azure PowerShell.
  • CLI de Docker: también debe tener instalado Docker localmente. Docker proporciona paquetes que permiten configurar Docker fácilmente en cualquier sistema macOS, Windows o Linux.

Inicio de sesión en un registro

Hay varias maneras de autenticar en el registro de contenedor privado.

Es el método recomendado cuando se trabaja en una línea de comandos con el comando de la CLI de Azure az acr login. Por ejemplo, para iniciar sesión en un registro denominado myregistry, inicie sesión en la CLI de Azure y luego autentíquese en el registro:

az login
az acr login --name myregistry

También puede iniciar sesión con docker login. Por ejemplo, puede que haya asignado una entidad de servicio al registro para ver un escenario de automatización. Cuando ejecute el siguiente comando, proporcione de forma interactiva el identificador de aplicación (nombre de usuario) y la contraseña de la entidad de servicio cuando se le solicite. Para consultar procedimientos recomendados para administrar credenciales de inicio de sesión, vea la referencia del comando docker login:

docker login myregistry.azurecr.io

Ambos comandos devuelven Login Succeeded una vez completados.

Nota

  • Es posible que quiera usar Visual Studio Code con la extensión de Docker para un inicio de sesión más rápido y cómodo.

Sugerencia

Especifique siempre el nombre completo del registro (en minúsculas) cuando se usa docker login y al etiquetar imágenes para insertar en el registro. En los ejemplos de este artículo, el nombre completo es myregistry.azurecr.io.

Extracción de una imagen de Nginx pública

En primer lugar, extraiga una imagen pública de Nginx en el equipo local. En este ejemplo, se extrae la imagen oficial de Nginx.

docker pull nginx

Ejecute el contenedor localmente

Ejecute el siguiente comando docker run para iniciar una instancia local del contenedor de Nginx de forma interactiva (-it) en el puerto 8080. El argumento --rm especifica que el contenedor debe quitarse cuando lo detenga.

docker run -it --rm -p 8080:80 nginx

Vaya a http://localhost:8080 para ver la página web predeterminada que suministra Nginx en el contenedor en ejecución. Debería ver una página similar a la siguiente:

Nginx en un equipo local

Dado que inició el contenedor de forma interactiva con -it, puede ver la salida del servidor Nginx en la línea de comandos después de navegar a él en el explorador.

Para detener y quitar el contenedor, presione Control+C.

Creación de un alias de la imagen

Utilice docker tag para crear un alias de la imagen, con la ruta de acceso completa al registro. Este ejemplo especifica el espacio de nombres samples para evitar el desorden en la raíz del registro.

docker tag nginx myregistry.azurecr.io/samples/nginx

Para más información sobre cómo etiquetar con espacios de nombres, vea la sección Espacios de nombres del repositorio de Procedimientos recomendados para Azure Container Registry.

Inserción de la imagen en el registro

Ahora que ha etiquetado la imagen con la ruta de acceso completa para el registro privado, puede insertarla en el registro con docker push:

docker push myregistry.azurecr.io/samples/nginx

Extracción de la imagen del registro

Use el comando docker pull para extraer la imagen del registro:

docker pull myregistry.azurecr.io/samples/nginx

Inicie el contenedor de Nginx

Use el comando docker run para ejecutar la imagen que ha extraído del registro:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Vaya a http://localhost:8080 para ver el contenedor en ejecución.

Para detener y quitar el contenedor, presione Control+C.

Retirada de la imagen (opcional)

Si ya no necesita la imagen Nginx, puede eliminarla localmente con el comando docker rmi.

docker rmi myregistry.azurecr.io/samples/nginx

Para quitar imágenes del registro de contenedor de Azure, puede usar el comando de la CLI de Azure az acr repository delete. Por ejemplo, el siguiente comando elimina el manifiesto al que se hace referencia mediante la etiqueta samples/nginx:latest, todos los datos de la capa únicos y todas las demás etiquetas que hacen referencia al manifiesto.

az acr repository delete --name myregistry --image samples/nginx:latest

Recomendaciones

Aquí puede encontrar más información sobre las opciones de autenticación.

Pasos siguientes

¡Ahora que conoce los fundamentos, ya está listo para empezar a usar el registro! Por ejemplo, implemente imágenes de contenedor del Registro en:

Opcionalmente, instale la extensión de Docker para Visual Studio Code y la extensión de la cuenta de Azure para trabajar con los registros de contenedor de Azure. Extraiga e inserte imágenes en un registro de contenedor de Azure o ejecute ACR Tasks y, todo ello, en Visual Studio Code.