Partilhar via


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:

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

  1. Entre no Azure com a CLI do Azure.

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

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

    az provider register --namespace Microsoft.App
    
  4. 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-serveropções , --registry-usernamee --registry-password .

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

  1. Cria um grupo de recursos.
  2. Cria um ambiente e um espaço de trabalho do Log Analytics.
  3. Cria e implanta um aplicativo de contêiner que extrai a imagem de um registro público.
  4. 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:

  1. Cria um grupo de recursos.
  2. Cria um ambiente e um espaço de trabalho do Log Analytics.
  3. Cria um registro no Registro de Contêiner do Azure.
  4. Cria a imagem do contêiner (usando o Dockerfile, se existir).
  5. Envia a imagem para o registro.
  6. 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.

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

  2. 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:

  1. Cria um grupo de recursos.
  2. Cria um ambiente e um espaço de trabalho do Log Analytics.
  3. Cria um registro no Registro de Contêiner do Azure.
  4. Cria a imagem de contêiner usando o Dockerfile.
  5. Envia a imagem para o registro.
  6. Cria e implanta o aplicativo de contêiner.
  7. 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.

Próximos passos