Guia de início rápido: criar e implantar a partir do código-fonte local para os Aplicativos de Contêiner do Azure

Este artigo demonstra como criar e implantar um microsserviço nos Aplicativos de Contêiner do Azure a partir do código-fonte local usando a linguagem de programação de sua escolha. Neste início rápido, você cria um serviço de API da Web de back-end que retorna uma coleção estática de álbuns de música.

Nota

Este aplicativo de exemplo está disponível em duas versões. Uma versão em que a fonte contém um Dockerfile. A outra versão não tem Dockerfile. Selecione a versão que melhor reflete o seu código-fonte. Se você for novo em contêineres, selecione a opção No Dockerfile na parte superior.

A captura de tela a seguir mostra a saída do serviço de API de álbum que você implanta.

Captura de tela da resposta do endpoint da API de álbuns.

Pré-requisitos

Para concluir este projeto, você precisa dos seguintes itens:

Necessidade 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.
CLI do Azure Instale a CLI do Azure.

Configurar

Para entrar no Azure a partir da CLI, execute o seguinte comando e siga os prompts para concluir o processo de autenticação.

az login

Para garantir que você esteja executando a versão mais recente da CLI, execute o comando upgrade.

az upgrade

Em seguida, instale ou atualize a extensão Aplicativos de Contêiner do Azure para a CLI.

Se você receber erros sobre parâmetros ausentes ao executar az containerapp comandos na CLI do Azure ou cmdlets do Az.App módulo no Azure PowerShell, certifique-se de ter a versão mais recente da extensão Aplicativos de Contêiner do Azure instalada.

az extension add --name containerapp --upgrade

Nota

A partir de maio de 2024, as extensões da CLI do Azure não habilitam mais recursos de visualização por padrão. Para acessar os recursos de visualização do Container Apps, instale a extensão Container Apps com --allow-preview trueo .

az extension add --name containerapp --upgrade --allow-preview true

Agora que a extensão ou módulo atual está instalado, registre os Microsoft.App namespaces e Microsoft.OperationalInsights .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Criar variáveis de ambiente

Agora que a configuração da CLI do Azure está concluída, você pode definir as variáveis de ambiente usadas ao longo deste artigo.

Defina as seguintes variáveis em seu shell bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"

Obter o código de exemplo

Baixe e extraia o aplicativo de exemplo de API no idioma de sua escolha.

Transfira o código fonte para a sua máquina.

Extraia o download e mude para a pasta containerapps-albumapi-csharp-main/src .

Transfira o código fonte para a sua máquina.

Extraia o download e mude para a pasta containerapps-albumapi-csharp-buildpack/src .


Criar e implantar o aplicativo de contêiner

Crie e implante seu primeiro aplicativo de contêiner com o containerapp up comando. Este comando irá:

  • Criar o grupo de recursos
  • Criar um Azure Container Registry
  • Crie a imagem do contêiner e envie-a para o registro
  • Criar o ambiente de aplicativos de contêiner com um espaço de trabalho do Log Analytics
  • Criar e implantar o aplicativo de contêiner usando a imagem de contêiner criada
  • Criar o grupo de recursos
  • Criar um registro padrão como parte do seu ambiente
  • Detete a linguagem e o tempo de execução do seu aplicativo e construa a imagem usando o Buildpack apropriado
  • Enviar a imagem para o registro padrão dos Aplicativos de Contêiner do Azure
  • Criar o ambiente de aplicativos de contêiner com um espaço de trabalho do Log Analytics
  • Criar e implantar o aplicativo de contêiner usando a imagem de contêiner criada

O up comando usa o Dockerfile na raiz do repositório para criar a imagem do contêiner. A EXPOSE instrução no Dockerfile definiu a porta de destino, que é a porta usada para enviar tráfego de entrada para o contêiner.

Se o up comando não encontrar um Dockerfile, ele usará automaticamente Buildpacks para transformar a origem do aplicativo em um contêiner executável. Como o Buildpack está tentando executar a compilação em seu nome, você precisa dizer ao up comando para qual porta enviar tráfego de entrada.

No exemplo de código a seguir, o . (ponto) diz containerapp up para ser executado no diretório atual do aplicativo de API de exemplo extraído.

az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --source .
az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --ingress external \
  --target-port 8080 \
  --source .

Importante

Para implantar seu aplicativo de contêiner em um grupo de recursos existente, inclua --resource-group yourResourceGroup o containerapp up comando.

Verificar a implementação

Copie o FQDN para um navegador da Web. No seu navegador da Web, vá para o /albums ponto de extremidade do FQDN.

Captura de tela da resposta do endpoint da API de álbuns.

Limites

O tamanho máximo para carregar o código-fonte é de 200MB. Se o upload ultrapassar o limite, o erro 413 será retornado.

Clean up resources (Limpar recursos)

Se você não continuar com o tutorial Implantar um front-end , poderá remover os recursos do Azure criados durante este início rápido com o seguinte comando.

Atenção

O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se o grupo contiver recursos fora do escopo deste início rápido, eles também serão excluídos.

az group delete --name $RESOURCE_GROUP

Gorjeta

Tem problemas? Informe-nos no GitHub abrindo um problema no repositório de Aplicativos de Contêiner do Azure.

Próximos passos

Depois de concluir este início rápido, você pode continuar para Tutorial: Comunicação entre microsserviços em Aplicativos de Contêiner do Azure para saber como implantar um aplicativo front-end que chama a API.