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:
- 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 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
Entre no Azure com a CLI do Azure.
az login
Em seguida, instale a extensão dos Aplicativos de Contêiner do Azure para a CLI.
az extension add --name containerapp --upgrade
Agora que a extensão ou o módulo atual está instalado, registre o namespace
Microsoft.App
.az provider register --namespace Microsoft.App
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:
- Cria um grupo de recursos.
- Cria um ambiente e o workspace do Log Analytics.
- Cria e implanta um aplicativo de contêiner que efetua pull da imagem de um registro público.
- 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:
- Cria um grupo de recursos.
- Cria um ambiente e o workspace do Log Analytics.
- Cria um registro no Registro de Contêiner do Azure.
- Compila a imagem de contêiner (usando o Dockerfile, se existir).
- Efetua push da imagem para o registro.
- 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.
Faça alterações no código-fonte.
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:
- Cria um grupo de recursos.
- Cria um ambiente e o workspace do Log Analytics.
- Cria um registro no Registro de Contêiner do Azure.
- Compila a imagem de contêiner usando o Dockerfile.
- Efetua push da imagem para o registro.
- Cria e implanta o aplicativo de contêiner.
- 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.