Ejercicio: Implementación de una imagen de Docker en una instancia de Azure Container

Completado

Instancia de Azure Container permite ejecutar una imagen de Docker en Azure.

En el ejercicio anterior, empaquetó y probó la aplicación web como una imagen de Docker local. Ahora, quiere usar la salida de ese ejercicio y hacer que la aplicación web esté disponible globalmente. Para ello, ejecute la imagen como una instancia de Azure Container Instances.

En este ejercicio, aprenderá a recompilar la imagen para la aplicación web y a cargarla en Azure Container Registry. Usará el servicio Instancia de Azure Container para ejecutar la imagen.

Importante

Para realizar este ejercicio, se necesita una suscripción de Azure propia y puede que se apliquen cargos. Si aún no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.

Creación de un registro de contenedor

  1. Inicie sesión en Azure Portal con la suscripción de Azure.

  2. En el menú de recursos, o en la página Inicio, seleccione Crear un recurso. Aparecerá el panel Crear un recurso.

  3. En el menú, seleccione Contenedores y, luego, Registro de contenedor.

    Screenshot that shows Create a resource with Container Registry.

    Aparece el panel Crear Registro de contenedor.

  4. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Configuración Value
    Detalles del proyecto
    Suscripción Seleccione la suscripción de Azure en la que pueda crear y administrar recursos.
    Resource group Seleccione Crear un grupo de recursos con el nombre learn-deploy-container-aci-rg. Recuerde el nombre que seleccione, ya que lo usará en el resto de los ejercicios de este módulo. Además, recuerde limpiar este recurso cuando termine el módulo.
    Detalles de instancia
    Nombre de registro Seleccione el nombre que haya elegido. El nombre del registro debe ser único dentro de Azure y contener entre 5 y 50 caracteres alfanuméricos.
    Ubicación Seleccione una ubicación cercana a la suya.
    SKU Estándar
  5. Seleccione Revisar + crear. Cuando aparezca la notificación Validación superada, seleccione Crear. Antes de continuar, espere hasta que se haya implementado el registro de contenedor.

  6. Haga clic en Go to resource (Ir al recurso). El panel Registro de contenedor muestra información esencial sobre el Registro de contenedor.

  7. En el menú de recursos, en Configuración, seleccione Claves de acceso. Aparece el panel Claves de acceso del Registro de contenedor.

  8. Si la opción Usuario administrador está deshabilitada, seleccione el control deslizante para habilitar la clave de acceso de Usuario administrador. Aparecen el nombre de usuario y las contraseñas del Registro de contenedor.

  9. Anote los valores de Nombre del Registro, Servidor de inicio de sesión, Nombre de usuario y Contraseñas para el Registro de contenedor.

    Nota:

    En este ejercicio, habilitaremos el acceso a la cuenta de administrador para poder cargar imágenes y probar el Registro. En un entorno de producción, es importante deshabilitar el acceso a la cuenta de Usuario administrador y usar Microsoft Entra ID Protection cuando se tenga la certeza de que el Registro funciona según lo previsto.

    Screenshot of the Access keys details.

Carga de la imagen para la aplicación del sistema de reservas de hotel en Azure Container Registry

  1. En el símbolo del sistema local, ejecute el comando siguiente, reemplazando <registry-name> por el nombre de su Registro de contenedor para etiquetar la imagen reservationsystem actual con el nombre de su Registro:

    docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
    
  2. Ejecute el comando docker image ls para comprobar que la imagen se ha etiquetado correctamente:

    docker image ls
    

    Debería ver algo parecido a los siguiente:

    REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
    reservationsystem                             latest              a56281e7038f        4 minutes ago       1.76GB
    <registry-name>.azurecr.io/reservationsystem  latest              a56281e7038f        4 minutes ago       1.76GB
    
  3. En el símbolo del sistema, inicie sesión en su instancia de Azure Container Registry. Use el comando docker login y especifique el servidor de inicio de sesión para el registro que ha anotado antes. Escriba el nombre de usuario y la contraseña de sus claves de acceso cuando se le solicite.

    docker login <login-server>
    

    Nota:

    Podría recibir una respuesta de error de un demonio en la que se le indique que la aplicación no está registrada con Microsoft Entra ID. Como se indicó anteriormente en este ejercicio, ha habilitado la clave de acceso del Usuario administrador para probar la implementación.

  4. Escriba el comando siguiente, reemplazando <registry-name> por el nombre de su Registro para cargar la imagen en su Registro en Azure Container Registry:

    docker push <registry-name>.azurecr.io/reservationsystem:latest
    

    Espere hasta que se complete la carga. Este proceso tardará unos minutos en insertar todos los objetos de la imagen en el repositorio. Puede observar el progreso a medida que cada objeto avanza del estado Esperando a Preparando, Insertando y, finalmente, Insertado.

Comprobación del contenido del registro

En el resto del ejercicio, volverá a Azure Portal.

  1. En Azure Portal, vuelva al registro de contenedor.

  2. En el menú de recursos, en Servicios, seleccione Repositorios. Aparece el panel Repositorios del registro de contenedor.

  3. Compruebe que aparece el repositorio reservationsystem. Seleccione el repositorio reservationsystem y compruebe que contiene una imagen con la etiqueta latest.

    Screenshot showing the repository and tagged reservation system container image in the registry.

Carga y ejecución de una imagen mediante Instancia de Azure Container

  1. En Azure Portal, haga clic en Crear un recurso. Aparecerá el panel Crear un recurso.

  2. En el menú de recursos, seleccione Contenedores y, luego, Instancias de contenedor.

    Screenshot showing Container Instances.

    Aparecerá el panel Crear instancia de contenedor.

    Hay varios pasos para configurar una instancia de contenedor. Empiece estableciendo la información del grupo de recursos y los detalles del contenedor. Luego, configurare las opciones de red del contenedor y reinicie la directiva.

  3. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Configuración Value
    Detalles del proyecto
    Suscripción Seleccione la suscripción de Azure predeterminada en la que puede crear y administrar recursos
    Resource group Reutilice el grupo de recursos existente learn-deploy-container-aci-rg.
    Detalles del contenedor
    Nombre del contenedor hotelsysteminstance
    Región Use la ubicación predeterminada.
    Origen de la imagen Docker Hub u otro registro
    Tipo de imagen Privada
    Imagen <registry-name>.azurecr.io/reservationsystem:latest
    Servidor de inicio de sesión del registro de imágenes Escriba el nombre del servidor de inicio de sesión para el registro
    Nombre de usuario del registro de imágenes Escriba el nombre de usuario para el registro
    Contraseña del registro de imágenes Escriba la contraseña del registro.
    Tipo de SO Linux
    Tamaño Deje la opción Tamaño predeterminada establecida en 1 vCPU, 1,5 GiB de memoria, 0 GPU
  4. Seleccione Siguiente: Redes.

  5. En la pestaña Redes, escriba los valores siguientes para cada opción.

    Configuración Valor
    Tipo de red Público
    Etiqueta de nombre DNS Elija un nombre único, que se usará como parte de la dirección URL del contenedor.
    Puertos
    Puertos 80
    Protocolo de puertos TCP
  6. Seleccione Siguiente: Opciones avanzadas.

  7. En la pestaña Opciones avanzadas, escriba los valores siguientes para cada opción.

    Configuración Valor
    Directiva de reinicio Siempre
    Variables de entorno deje todos los valores en blanco
    Invalidación de comando déjelo en blanco
  8. Seleccione Revisar + crear. Espere a que se complete la validación y corrija los errores, si es necesario.

  9. Seleccione Crear.

  10. Cuando se haya creado la instancia de contenedor, seleccione Ir al recurso. Aparecerá el panel de la instancia de contenedor.

  11. En el panel Información general, busque el nombre de dominio completo (FQDN) de la instancia de contenedor.

    Screenshot that shows the New pane in Azure portal showing the Container properties with the FQDN highlighted.

  12. Mediante un explorador web, vaya a la URL http://FQDN/api/reservations/1, reemplazando FQDN por el nombre de dominio completo de su instancia de contenedor. Por ejemplo, si usa el FQDN visible de la captura de pantalla anterior, tendría el aspecto siguiente:

    http://hotel.southcentralus.azurecontainer.io/api/reservations/1
    

    La aplicación web debería responder con un objeto JSON que contiene los detalles de la reserva 1.

¡Enhorabuena! Ha cargado la imagen de Docker en Azure Container Registry y la ha ejecutado mediante el servicio Azure Container Instances.