Share via


Implementación de Azure Container Apps con el comando az containerapp up

El comando az containerapp up (o up) es la manera más rápida de implementar una aplicación en Azure Container Apps desde una imagen existente, un código fuente local o un repositorio de GitHub. Con este único comando, puede hacer que la aplicación contenedora esté en funcionamiento en cuestión de minutos.

El comando az containerapp up es una manera simplificada de crear e implementar aplicaciones de contenedor que usan principalmente la configuración predeterminada. Sin embargo, deberá ejecutar otros comandos de la CLI para configurar opciones más avanzadas:

Para personalizar el recurso o la configuración de escalado de la aplicación contenedora, puede usar el comando up y, después, el comando az containerapp update para cambiar esta configuración. El comando az containerapp up no es una abreviatura del comando az containerapp update.

El comando up puede crear o usar recursos existentes, entre los que se incluyen:

  • Resource group
  • Azure Container Registry
  • Entorno de Container Apps y área de trabajo de Log Analytics
  • La aplicación contenedora

El comando puede compilar e insertar una imagen de contenedor en un Azure Container Registry (ACR) al proporcionar código fuente local o un repositorio de GitHub. Cuando trabaja desde un repositorio de GitHub, crea un flujo de trabajo de Acciones de GitHub que compila e inserta automáticamente una nueva imagen de contenedor al confirmar los cambios en el repositorio de GitHub.

Si necesita personalizar el entorno de Container Apps, cree primero el entorno mediante el comando az containerapp env create. Si no proporciona un entorno existente, el comando up busca uno en el grupo de recursos y, si se encuentra, usa ese entorno. Si no se encuentra, crea un entorno con un área de trabajo de Log Analytics.

Para más información sobre el comando az containerapp up y sus opciones, consulte az containerapp up.

Requisitos previos

Requisito Instructions
Cuenta de Azure Si no tiene ninguna cuenta, cree una gratuita. Necesita el permiso Colaborador o Propietario en la suscripción de Azure para continuar. Consulte Asignación de roles de Azure mediante Azure Portal para obtener más información.
Cuenta de GitHub Si usas un repositorio de GitHub, regístrese gratis.
CLI de Azure Instale la CLI de Azure.
Código fuente local Debe tener un directorio de código fuente local si usa código fuente local.
Imagen existente Si usa una imagen existente, necesitará el servidor del registro, el nombre de la imagen y la etiqueta. Si usa un registro privado, necesitará sus credenciales.

Configurar

  1. Inicio de sesión en Azure con la CLI de Azure.

    az login
    
  2. Luego instale la extensión Azure Container Apps para la CLI.

    az extension add --name containerapp --upgrade
    
  3. Ahora que la extensión o módulo actual está instalado, registre el espacio de nombres Microsoft.App.

    az provider register --namespace Microsoft.App
    
  4. Registre el proveedor Microsoft.OperationalInsights para el área de trabajo de Log Analytics de Azure Monitor.

    az provider register --namespace Microsoft.OperationalInsights
    

Implementación desde una imagen existente

Puede implementar una aplicación de contenedor que use una imagen existente en un registro de contenedor público o privado. Si va a realizar la implementación desde un registro privado, deberá proporcionar sus credenciales mediante las opciones --registry-server, --registry-username y --registry-password.

En este ejemplo, el comando az containerapp up realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea e implementa una aplicación contenedora que extrae la imagen de un registro público.
  4. Establece la entrada de la aplicación contenedora en externa con un puerto de destino establecido en el valor especificado.

Ejecute el siguiente comando para implementar una aplicación contenedora a partir de una imagen existente. Reemplace los <PLACEHOLDERS> por sus valores.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Puede usar el comando up para volver a implementar una aplicación contenedora. Si desea volver a implementar con una nueva imagen, use la opción --image para especificar una nueva imagen. Asegúrese de que las opciones --resource-group y environment se establecen en los mismos valores que la implementación original.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Implementación desde el código fuente local

Al usar el comando up para implementar desde un origen local, compila la imagen de contenedor, la inserta en un registro e implementa la aplicación contenedora. Crea el registro en Azure Container Registry si no proporciona uno.

El comando puede compilar la imagen con o sin un Dockerfile. Si se admite la compilación sin un Dockerfile, se admiten los siguientes lenguajes:

  • .NET
  • Node.js
  • PHP
  • Python

En el ejemplo siguiente se muestra cómo implementar una aplicación de contenedor desde el código fuente local.

En el ejemplo, el comando az containerapp up realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea un registro en Azure Container Registry.
  4. Compila la imagen de contenedor (mediante el Dockerfile si existe).
  5. Inserta la imagen en el registro.
  6. Crea e implementa la aplicación contenedora.

Ejecute el siguiente comando para implementar una aplicación de contenedor desde el código fuente local:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Cuando Dockerfile incluye la instrucción EXPOSE, el comando up configura el puerto de entrada y destino de la aplicación contenedora mediante la información del Dockerfile.

Si ha configurado la entrada a través del Dockerfile o la aplicación no requiere entrada, puede omitir la opción ingress.

La salida del comando anterior incluye la dirección URL pública de la aplicación contenedora.

Si se produce un error, puede volver a ejecutar el comando con la opción --debug para obtener más información sobre el error. Si se produce un error en la compilación sin un Dockerfile, puede intentar agregar un Dockerfile y volver a ejecutar el comando.

Para usar el comando az containerapp up para volver a implementar la aplicación contenedora con una imagen actualizada, incluya los argumentos --resource-group y --environment. En el ejemplo siguiente se muestra cómo volver a implementar una aplicación de contenedor desde el código fuente local.

  1. Realice cambios en el código fuente.

  2. Ejecute el siguiente comando:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Implementación desde un repositorio de GitHub

Cuando se usa el comando az containerapp up para realizar la implementación desde un repositorio de GitHub, se genera un flujo de trabajo de Acciones de GitHub que compila la imagen de contenedor, la inserta en un registro e implementa la aplicación contenedora. El comando crea el registro en Azure Container Registry si no proporciona uno.

Se requiere un Dockerfile para compilar la imagen. Cuando Dockerfile incluye la instrucción EXPOSE, el comando configura el puerto de entrada y destino de la aplicación contenedora mediante la información del Dockerfile.

En el ejemplo siguiente se muestra cómo implementar una aplicación de contenedor desde un repositorio de GitHub.

En el ejemplo, el comando az containerapp up realiza las siguientes acciones:

  1. Crea un grupo de recursos.
  2. Crea un entorno y un área de trabajo de Log Analytics.
  3. Crea un registro en Azure Container Registry.
  4. Compila la imagen de contenedor mediante el Dockerfile.
  5. Inserta la imagen en el registro.
  6. Crea e implementa la aplicación contenedora.
  7. Crea un flujo de trabajo de Acciones de GitHub para compilar la imagen de contenedor e implementar la aplicación contenedora cuando se insertan cambios futuros en el repositorio de GitHub.

Para implementar una aplicación desde un repositorio de GitHub, ejecute el siguiente comando:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GitHub repository URL> \
  --ingress external 

Si ha configurado la entrada a través del Dockerfile o la aplicación no requiere entrada, puede omitir la opción ingress.

Dado que el comando up crea un flujo de trabajo de Acciones de GitHub, volver a ejecutarlo para implementar cambios en la imagen de la aplicación tendrá el efecto no deseado de crear varios flujos de trabajo. En su lugar, inserte los cambios en el repositorio de GitHub y el flujo de trabajo de GitHub compilará e implementará automáticamente la aplicación. Para cambiar el flujo de trabajo, edite el archivo de flujo de trabajo en GitHub.

Pasos siguientes