Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O az containerapp up comando (ou up) é a forma mais rápida de implementar uma aplicação no Azure Container Apps a partir de uma imagem existente, código-fonte local ou repositório do GitHub. Quando usa este único comando, pode ter a sua aplicação container a funcionar em minutos.
O comando pode construir e enviar uma imagem de contentor para o Azure Container Registry quando fornece código-fonte local ou um repositório GitHub. Quando trabalhas a partir de um repositório GitHub, o comando cria um fluxo de trabalho de Ações no GitHub que automaticamente constrói e envia uma nova imagem de contentor quando fazes commit de alterações no teu repositório GitHub.
Este artigo mostra-lhe como usar o comando para implementar uma aplicação container a partir de uma imagem existente, código-fonte local e um repositório GitHub.
Pré-requisitos
| Requisito | Instruções |
|---|---|
| Uma conta do Azure | Se você não tiver uma, crie uma conta gratuitamente. A sua subscrição do Azure precisa de ter as funções de Contribuinte ou Proprietário . Para informações detalhadas, consulte Atribuir funções Azure usando o portal Azure. |
| A ferramenta CLI do Azure | Instale a CLI do Azure. |
| Uma conta do GitHub | Se quiseres usar uma imagem num repositório GitHub, regista-te numa conta gratuita no GitHub. |
| Código fonte local | Se quiseres criar uma imagem a partir do código-fonte local, coloca o teu código num diretório local. |
| Uma imagem existente | Se quiseres usar uma imagem existente, anota o servidor do teu registo, nome da imagem e etiqueta. Se usares um registo privado, também regista as tuas credenciais. |
Utilizar os recursos existentes
O up comando pode criar recursos, ou pode usar os já existentes, incluindo:
- Um grupo de recursos.
- Registo de Contentores.
- Um ambiente de Container Apps e um espaço de trabalho do Log Analytics.
- A tua aplicação de contentores.
Se precisar de personalizar o ambiente Container Apps, use primeiro o az containerapp env create comando para criar e personalizar o seu ambiente. Quando executares o up comando, usa a --environment opção para especificar o ambiente personalizado.
Se não especificares um ambiente existente, o up comando procura um no teu grupo de recursos. Se o comando encontrar um ambiente, usa esse ambiente. Se o comando não encontrar um ambiente, cria um que inclui um espaço de trabalho de Log Analytics.
Para mais informações sobre o az containerapp up comando e as suas opções, consulte az containerapp up.
Configurar seu ambiente da CLI do Azure
Use o CLI do Azure para iniciar sessão no Azure.
az loginInstale a extensão Container Apps para a CLI do Azure.
az extension add --name containerapp --upgradeRegiste o
Microsoft.Appnamespace.az provider register --namespace Microsoft.AppRegiste o
Microsoft.OperationalInsightsfornecedor para o espaço de trabalho de 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 implementares a partir de um registo privado, precisas de fornecer as tuas credenciais usando as --registry-serveropções , --registry-username, e --registry-password .
Pode usar o seguinte exemplo de código para implementar uma aplicação container a partir de uma imagem existente. Antes de executares o comando, substitui os marcadores de posição, que estão envoltos em colchetes angulares, pelos teus valores.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
Este 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 o valor da
ingressaplicação container paraexternalcom uma porta alvo definida para o valor especificado.
Também podes usar o up comando para redistribuir uma aplicação de contentores. 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 estão definidas para os valores da implementaçã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. Se não especificares um registo, o comando cria um no Registo de Contentores.
O comando pode criar a imagem com ou sem um Dockerfile. Em compilações que não utilizam um Dockerfile, são suportadas as seguintes linguagens:
- .NET
- Node.js
- PHP
- Python
Pode usar o seguinte código de exemplo para implementar uma aplicação de contentor a partir de código-fonte local:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Este 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 registo no Registo de Contentores.
- Constrói a imagem do contentor (usando o Dockerfile, se existir).
- Envia a imagem para o registro.
- Cria e implanta o aplicativo de contêiner.
Quando o Dockerfile inclui a EXPOSE instrução, o up comando configura a entrada e a porta de destino da aplicação do contentor usando a informação 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 o comando reportar que está à espera do agente Cloud Build mas depois deixar de responder, um erro transitório no GitHub pode ser a origem do problema. Para resolver a situação, execute novamente o comando.
Se houver uma falha, podes executar o comando novamente com a --debug opção de obter mais informações. Se a compilação falhar sem um Dockerfile, você pode tentar adicionar um Dockerfile e executar o comando novamente.
Para usar o comando az containerapp up para redistribuir a sua aplicação de contentor com uma imagem atualizada, inclua as opções --resource-group e --environment. Para redistribuir uma aplicação container a partir do código-fonte local, siga os seguintes passos:
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. Se não especificares um registo, o comando cria um no Registo de Contentores.
Um Dockerfile é necessário para criar a imagem. Quando o Dockerfile inclui a EXPOSE instrução, o comando configura a entrada e a porta de destino da aplicação do contentor usando a informação no Dockerfile.
Pode usar o seguinte código de exemplo para implementar uma aplicação contentor a partir de um repositório GitHub:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--ingress external
Este 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 registo no Registo de Contentores.
- Constrói a imagem do contentor 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.
Se o comando falhar porque um principal de serviço não pode ser criado, pode criar manualmente um principal de serviço no Azure. Depois podes passar informações sobre isso ao comando:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--service-principal-client-id "$SERVICE_PRINCIPAL_CLIENT_ID" \
--service-principal-client-secret "$SERVICE_PRINCIPAL_CLIENT_SECRET" \
--service-principal-tenant-id "$AZURE_TENANT_ID"
--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.
O up comando cria um fluxo de trabalho de Ações no GitHub. Como resultado, reexecutar o comando tem o efeito indesejado de criar múltiplos fluxos de trabalho. Se quiseres implementar alterações na imagem da tua aplicação, envia as alterações para o repositório do GitHub em vez de voltares a executar o comando. O fluxo de trabalho do GitHub deteta automaticamente as alterações no teu repositório e depois constrói e implementa a tua aplicação. Para alterar o fluxo de trabalho, edite o arquivo de fluxo de trabalho no GitHub.
Configurar as definições da aplicação container
O az containerapp up comando oferece uma forma simplificada de criar e implementar aplicações contentores que usam principalmente definições predefinidas. No entanto, depois de usar o up comando, precisa de executar outros comandos Azure CLI, como os seguintes, se quiser configurar definições mais avançadas:
- Tempo de Execução de Aplicações Distribuídas (Dapr):
az containerapp dapr enable - Segredos:
az containerapp secret set - Protocolos de transporte:
az containerapp ingress update
Se quiseres personalizar outras definições para a tua app container, como recursos ou definições de escala, usa primeiro o up comando para implementar a tua app container. Depois usa o az containerapp update comando para alterar essas definições. O az containerapp up comando não é uma abreviatura do az containerapp update comando.