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:
- Dapr:
az containerapp dapr enable
- Secretos:
az containerapp secret set
- Protocolos de transporte:
az containerapp ingress update
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
Inicio de sesión en Azure con la CLI de Azure.
az login
Luego instale la extensión Azure Container Apps para la CLI.
az extension add --name containerapp --upgrade
Ahora que la extensión o módulo actual está instalado, registre el espacio de nombres
Microsoft.App
.az provider register --namespace Microsoft.App
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:
- Crea un grupo de recursos.
- Crea un entorno y un área de trabajo de Log Analytics.
- Crea e implementa una aplicación contenedora que extrae la imagen de un registro público.
- 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:
- Crea un grupo de recursos.
- Crea un entorno y un área de trabajo de Log Analytics.
- Crea un registro en Azure Container Registry.
- Compila la imagen de contenedor (mediante el Dockerfile si existe).
- Inserta la imagen en el registro.
- 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 configura 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.
Realice cambios en el código fuente.
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:
- Crea un grupo de recursos.
- Crea un entorno y un área de trabajo de Log Analytics.
- Crea un registro en Azure Container Registry.
- Compila la imagen de contenedor mediante el Dockerfile.
- Inserta la imagen en el registro.
- Crea e implementa la aplicación contenedora.
- 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 configura 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.