Implantar Aplicativos de Contêiner do Azure com o comando az containerapp up
O az containerapp up
comando (ou up
) é a maneira mais rápida de implantar um aplicativo em Aplicativos de Contêiner do Azure a partir de uma imagem existente, código-fonte local ou um repositório GitHub. Com esse único comando, você pode ter seu aplicativo de contêiner pronto e funcionando em minutos.
O az containerapp up
comando é uma maneira simplificada de criar e implantar aplicativos de contêiner que usam principalmente as configurações padrão. No entanto, você precisa executar outros comandos da CLI para definir configurações mais avançadas:
- DAPR:
az containerapp dapr enable
- Segredos:
az containerapp secret set
- Protocolos de transporte:
az containerapp ingress update
Para personalizar o recurso ou as configurações de dimensionamento do aplicativo contêiner, você pode usar o up
comando e, em seguida, o az containerapp update
comando para alterar essas configurações. O az containerapp up
comando não é uma abreviação do az containerapp update
comando.
O up
comando pode criar ou usar recursos existentes, incluindo:
- Grupo de recursos
- Registo de Contentores do Azure
- Ambiente de aplicativos de contêiner e espaço de trabalho do Log Analytics
- Seu aplicativo de contêiner
O comando pode criar e enviar por push uma imagem de contêiner para um Registro de Contêiner do Azure (ACR) quando você fornece código-fonte local ou um repositório GitHub. Quando você está trabalhando a partir de um repositório GitHub, ele cria um fluxo de trabalho de Ações do GitHub que cria e envia automaticamente uma nova imagem de contêiner quando você confirma alterações no repositório do GitHub.
Se você precisar personalizar o ambiente Container Apps, primeiro crie o ambiente usando o az containerapp env create
comando. Se você não fornecer um ambiente existente, o comando procurará up
um em seu grupo de recursos e, se encontrado, usará esse ambiente. Se não for encontrado, ele cria um ambiente com um espaço de trabalho do Log Analytics.
Para saber mais sobre o az containerapp up
comando e suas opções, consulte az containerapp up
.
Pré-requisitos
Requisito | Instruções |
---|---|
Conta do Azure | Se você não tiver uma, crie uma conta gratuitamente. Você precisa da permissão de Colaborador ou Proprietário na assinatura do Azure para continuar. Consulte Atribuir funções do Azure usando o portal do Azure para obter detalhes. |
Conta GitHub | Se você usa um repositório GitHub, inscreva-se gratuitamente. |
CLI do Azure | Instale a CLI do Azure. |
Código fonte local | Você precisa ter um diretório de código-fonte local se usar o código-fonte local. |
Imagem existente | Se você usar uma imagem existente, precisará do servidor de registro, do nome da imagem e da marca. Se estiver a utilizar um registo privado, precisa das suas credenciais. |
Configurar
Entre no Azure com a CLI do Azure.
az login
Em seguida, instale a extensão Aplicativos de Contêiner do Azure para a CLI.
az extension add --name containerapp --upgrade
Agora que a extensão ou módulo atual está instalado, registre o
Microsoft.App
namespace.az provider register --namespace Microsoft.App
Registre o
Microsoft.OperationalInsights
provedor para o espaço de trabalho do Azure Monitor Log Analytics.az provider register --namespace Microsoft.OperationalInsights
Implantar a partir de uma imagem existente
Você pode implantar um aplicativo de contêiner que usa uma imagem existente em um registro de contêiner público ou privado. Se você estiver implantando a partir de um registro privado, precisará fornecer suas credenciais usando as --registry-server
opções , --registry-username
e --registry-password
.
Neste exemplo, o az containerapp up
comando executa as seguintes ações:
- Cria um grupo de recursos.
- Cria um ambiente e um espaço de trabalho do Log Analytics.
- Cria e implanta um aplicativo de contêiner que extrai a imagem de um registro público.
- Define a entrada do aplicativo contêiner como externa com uma porta de destino definida para o valor especificado.
Execute o seguinte comando para implantar um aplicativo de contêiner a partir de uma imagem existente. Substitua os <ESPAÇOS RESERVADOS> pelos seus valores.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
Você pode usar o up
comando para reimplantar um aplicativo de contêiner. Se desejar reimplantar com uma nova imagem, use a --image
opção para especificar uma nova imagem. Certifique-se de que as --resource-group
opções e environment
estejam definidas com os mesmos valores da implantação 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>
Implantar a partir do código-fonte local
Quando você usa o up
comando para implantar a partir de uma fonte local, ele cria a imagem de contêiner, envia-a por push para um registro e implanta o aplicativo de contêiner. Ele cria o registro no Registro de Contêiner do Azure se você não fornecer um.
O comando pode criar a imagem com ou sem um Dockerfile. Se a criação sem um Dockerfile for suportada, os seguintes idiomas são suportados:
- .NET
- Node.js
- PHP
- Python
O exemplo a seguir mostra como implantar um aplicativo de contêiner a partir do código-fonte local.
No exemplo, o az containerapp up
comando executa as seguintes ações:
- Cria um grupo de recursos.
- Cria um ambiente e um espaço de trabalho do Log Analytics.
- Cria um registro no Registro de Contêiner do Azure.
- Cria a imagem do contêiner (usando o Dockerfile, se existir).
- Envia a imagem para o registro.
- Cria e implanta o aplicativo de contêiner.
Execute o seguinte comando para implantar um aplicativo de contêiner a partir do código-fonte local:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Quando o Dockerfile inclui a instrução EXPOS, o up
comando configura a porta de entrada e de destino do aplicativo contêiner usando as informações no Dockerfile.
Se você configurar a entrada por meio do Dockerfile ou se seu aplicativo não exigir entrada, poderá omitir a ingress
opção.
A saída do comando inclui a URL do aplicativo contêiner.
Se houver uma falha, você pode executar o comando novamente com a --debug
opção de obter mais informações sobre a falha. Se a compilação falhar sem um Dockerfile, você pode tentar adicionar um Dockerfile e executar o comando novamente.
Para usar o az containerapp up
comando para reimplantar seu aplicativo de contêiner com uma imagem atualizada, inclua os --resource-group
argumentos e --environment
. O exemplo a seguir mostra como reimplantar um aplicativo de contêiner a partir do código-fonte local.
Faça alterações no código-fonte.
Execute o seguinte comando:
az containerapp up \ --name <CONTAINER_APP_NAME> \ --source <SOURCE_DIRECTORY> \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVIRONMENT_NAME>
Implantar a partir de um repositório GitHub
Quando você usa o az containerapp up
comando para implantar a partir de um repositório do GitHub, ele gera um fluxo de trabalho de Ações do GitHub que cria a imagem do contêiner, envia-a por push para um registro e implanta o aplicativo do contêiner. O comando cria o Registro no Registro de Contêiner do Azure se você não fornecer um.
Um Dockerfile é necessário para criar a imagem. Quando o Dockerfile inclui a instrução EXPOS, o comando configura a porta de entrada e de destino do aplicativo contêiner usando as informações no Dockerfile.
O exemplo a seguir mostra como implantar um aplicativo de contêiner a partir de um repositório GitHub.
No exemplo, o az containerapp up
comando executa as seguintes ações:
- Cria um grupo de recursos.
- Cria um ambiente e um espaço de trabalho do Log Analytics.
- Cria um registro no Registro de Contêiner do Azure.
- Cria a imagem de contêiner usando o Dockerfile.
- Envia a imagem para o registro.
- Cria e implanta o aplicativo de contêiner.
- Cria um fluxo de trabalho de Ações do GitHub para criar a imagem do contêiner e implantar o aplicativo do contêiner quando alterações futuras forem enviadas por push para o repositório do GitHub.
Para implantar um aplicativo a partir de um repositório GitHub, execute o seguinte comando:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GitHub repository URL> \
--ingress external
Se você configurar a entrada por meio do Dockerfile ou se seu aplicativo não exigir entrada, poderá omitir a ingress
opção.
Como o up
comando cria um fluxo de trabalho de Ações do GitHub, executá-lo novamente para implantar alterações na imagem do seu aplicativo tem o efeito indesejado de criar vários fluxos de trabalho. Em vez disso, envie alterações por push para o repositório do GitHub, e o fluxo de trabalho do GitHub cria e implanta automaticamente seu aplicativo. Para alterar o fluxo de trabalho, edite o arquivo de fluxo de trabalho no GitHub.