Compartilhar via


Implantar os Aplicativos de Contêiner do Azure com o comando az containerapp up

O comando az containerapp up (ou up) é a maneira mais rápida de implantar um aplicativo nos Aplicativos de Contêiner do Azure de uma imagem existente, código-fonte local ou um repositório GitHub. Com esse único comando, você pode colocar seu aplicativo de contêiner em execução em minutos.

O comando az containerapp up é 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:

Para personalizar o recurso ou as configurações de escala do aplicativo de contêiner, você pode usar o comando up e, em seguida, o comando az containerapp update para alterar essas configurações. O comando az containerapp up não é uma abreviação do comando az containerapp update.

O comando up pode criar ou usar recursos existentes, incluindo:

  • Grupo de recursos
  • Registro de Contêiner do Azure
  • Ambiente de Aplicativos de Contêiner e workspace do Log Analytics
  • Seu aplicativo de contêiner

O comando pode criar e enviar por push uma imagem de contêiner para um ACR (Registro de Contêiner do Azure) quando você fornece código-fonte local ou um repositório GitHub. Quando você está trabalhando em um repositório GitHub, ele cria um fluxo de trabalho GitHub Actions que compila e envia por push automaticamente uma nova imagem de contêiner quando você confirma as alterações no repositório GitHub.

Se você precisar personalizar o ambiente dos Aplicativos de Contêiner, primeiro crie o ambiente usando o comando az containerapp env create. Se você não fornecer um ambiente existente, o comando up procurará um em seu grupo de recursos e, se encontrado, usará esse ambiente. Se não for encontrado, ele criará um ambiente com um workspace do Log Analytics.

Para saber mais sobre o comando az containerapp up e suas opções, confira az containerapp up.

Pré-requisitos

Requisito Instruções
Conta do Azure Se você não tiver, crie uma conta gratuita. 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 do GitHub Se você usar um repositório GitHub, crie uma conta gratuitamente.
CLI do Azure Instale a CLI do Azure.
Código-fonte local Você precisará 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 do registro, do nome da imagem e da marca. Se você estiver usando um registro privado, precisará de suas credenciais.

Configuração

  1. Entre no Azure com a CLI do Azure.

    az login
    
  2. Em seguida, instale a extensão dos Aplicativos de Contêiner do Azure para a CLI.

    az extension add --name containerapp --upgrade
    
  3. Agora que a extensão ou o módulo atual está instalado, registre o namespace Microsoft.App.

    az provider register --namespace Microsoft.App
    
  4. Registre o provedor Microsoft.OperationalInsights para o workspace do Log Analytics do Azure Monitor.

    az provider register --namespace Microsoft.OperationalInsights
    

Implantar 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 de um registro privado, precisará fornecer suas credenciais usando as opções --registry-server, --registry-username e --registry-password.

Neste exemplo, o comando az containerapp up executa as seguintes ações:

  1. Cria um grupo de recursos.
  2. Cria um ambiente e o workspace do Log Analytics.
  3. Cria e implanta um aplicativo de contêiner que efetua pull da imagem de um registro público.
  4. Define a entrada do aplicativo de contêiner como externa com uma porta de destino definida como o valor especificado.

Execute o comando a seguir para implantar um aplicativo de contêiner 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 comando up para reimplantar um aplicativo de contêiner. Se você quiser reimplantar com uma nova imagem, use a opção --image para especificar uma nova imagem. Verifique se as opções --resource-group e environment estão 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 do código-fonte local

Quando você usa o comando up para implantar de uma origem local, ele compila a imagem de contêiner, envia-a por push para um registro e implanta o aplicativo de contêiner. Ele criará o registro em Registro de Contêiner do Azure se você não fornecer um.

O comando pode criar a imagem com ou sem um Dockerfile. Se estiver criando sem um Dockerfile, há suporte para as seguintes linguagens:

  • .NET
  • Node.js
  • PHP
  • Python

O exemplo a seguir mostra como implantar um aplicativo de contêiner do código-fonte local.

No exemplo, o comando az containerapp up executa as seguintes ações:

  1. Cria um grupo de recursos.
  2. Cria um ambiente e o workspace do Log Analytics.
  3. Cria um registro no Registro de Contêiner do Azure.
  4. Compila a imagem de contêiner (usando o Dockerfile, se existir).
  5. Efetua push da imagem para o registro.
  6. Cria e implanta o aplicativo de contêiner.

Execute o comando a seguir para implantar um aplicativo de contêiner de um código-fonte local:

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

Quando o Dockerfile inclui a instrução EXPOSE, o comando up configura a entrada e a porta de destino do aplicativo de contêiner usando as informações contidas no Dockerfile.

Se configurar a entrada por meio do Dockerfile ou se seu aplicativo não exigir entrada, você poderá omitir a opção ingress.

A saída do comando inclui a URL do aplicativo de contêiner.

Se houver uma falha, você poderá executar o comando novamente com a opção --debug para obter mais informações sobre a falha. Se o build falhar sem um Dockerfile, você poderá tentar adicionar um Dockerfile e executar o comando novamente.

Para usar o comando az containerapp up para reimplantar seu aplicativo de contêiner com uma imagem atualizada, inclua os argumentos --resource-group e --environment. O exemplo a seguir mostra como reimplantar um aplicativo de contêiner do código-fonte local.

  1. Faça alterações no código-fonte.

  2. Execute o comando a seguir:

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

Implantar de um repositório GitHub

Quando você usa o comando az containerapp up para implantar de um repositório GitHub, ele gera um fluxo de trabalho do GitHub Actions que compila a imagem de contêiner, envia-a por push para um registro e implanta o aplicativo de contêiner. O comando criará o registro em Registro de Contêiner do Azure se você não fornecer um.

Um Dockerfile é necessário para compilar a imagem. Quando o Dockerfile inclui a instrução EXPOSE, o comando configura a entrada e a porta de destino do aplicativo de contêiner usando as informações contidas no Dockerfile.

O exemplo a seguir mostra como implantar um aplicativo de contêiner de um repositório GitHub.

No exemplo, o comando az containerapp up executa as seguintes ações:

  1. Cria um grupo de recursos.
  2. Cria um ambiente e o workspace do Log Analytics.
  3. Cria um registro no Registro de Contêiner do Azure.
  4. Compila a imagem de contêiner usando o Dockerfile.
  5. Efetua push da imagem para o registro.
  6. Cria e implanta o aplicativo de contêiner.
  7. Cria um fluxo de trabalho do GitHub Actions para criar a imagem de contêiner e implantar o aplicativo de contêiner quando alterações futuras forem enviadas por push para o repositório GitHub.

Para implantar um aplicativo de um repositório GitHub, execute o seguinte comando:

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

Se configurar a entrada por meio do Dockerfile ou se seu aplicativo não exigir entrada, você poderá omitir a opção ingress.

Como o comando up cria um fluxo de trabalho do GitHub Actions, executá-lo novamente para implantar alterações na imagem do aplicativo tem o efeito indesejado de criar vários fluxos de trabalho. Em vez disso, efetue push das alterações para o repositório GitHub e o fluxo de trabalho do GitHub compilará e implantará automaticamente seu aplicativo. Para alterar o fluxo de trabalho, edite o arquivo de fluxo de trabalho no GitHub.

Próximas etapas