Início Rápido: compilar e implantar do código-fonte local nos Aplicativos de Contêiner do Azure
Este artigo demonstra como criar e implantar um microsserviço nos Aplicativos de Contêiner do Azure de um código-fonte local usando a linguagem de programação de sua escolha. Neste início rápido, você vai criar um serviço de API Web de back-end que retorna uma coleção estática de álbuns de música.
Observação
Este aplicativo de exemplo está disponível em duas versões. Uma versão em que a origem contém um Dockerfile. A outra versão não tem Dockerfile. Selecione a versão que melhor reflete seu código-fonte. Se você for novo em contêineres, selecione a opção Sem Dockerfile na parte superior.
A captura de tela a seguir mostra a saída da API do álbum implatado.
Pré-requisitos
Para concluir este projeto, você precisa dos seguintes itens:
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. |
CLI do Azure | Instale a CLI do Azure. |
Instalação
Para entrar no Azure usando a CLIl, execute o comando a seguir 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 dos Aplicativos de Contêiner do Azure para a CLI.
Se você receber erros sobre parâmetros ausentes ao executar comandos az containerapp
na CLI do Azure ou cmdlets do módulo Az.App
no Azure PowerShell, certifique-se de ter a última versão da extensão dos Aplicativos de Contêiner do Azure instalada.
az extension add --name containerapp --upgrade
Observação
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 Aplicativos de Contêiner, instale a extensão dos Aplicativos de Contêiner com --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Agora que a extensão ou módulo atual está instalado, registre os namespaces Microsoft.App
e Microsoft.OperationalInsights
.
Observação
Os recursos dos Aplicativos de Contêiner do Azure migraram do namespace Microsoft.Web
para o namespace Microsoft.App
. Consulte a migração de namespace de Microsoft.Web para Microsoft.App em março de 2022 para obter mais detalhes.
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 foi concluída, você pode definir as variáveis de ambiente que são usadas ao longo deste artigo.
Defina as variáveis a seguir no 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.
Baixe o código-fonte para o computador.
Extraia o download e altere para a pasta containerapps-albumapi-csharp-main/src.
Baixe o código-fonte para o computador.
Extraia o download e altere para a pasta containerapps-albumapi-csharp-buildpack/src.
Compilar e implantar o aplicativo de contêiner
Compile e implante o seu primeiro aplicativo de contêiner com o comando containerapp up
. Este comando vai:
- Criar o grupo de recursos
- Criar um Registro de Contêiner do Azure
- Compilar a imagem de contêiner e efetuá-la por push para o registro
- Criar o ambiente de Aplicativos de Contêiner com um workspace do Log Analytics
- Compilar e implantar o aplicativo de contêiner usando uma imagem de contêiner público
- Criar o grupo de recursos
- Criar um registro padrão como parte do seu ambiente
- Detectar o idioma e o runtime do aplicativo e criar a imagem usando o Buildpack apropriado
- Enviar a imagem por push para o registro padrão dos Aplicativos de Contêiner do Azure
- Criar o ambiente de Aplicativos de Contêiner com um workspace do Log Analytics
- Compilar e implantar o aplicativo de contêiner usando uma imagem de contêiner público
O comando up
usa o Dockerfile na raiz do repositório para criar a imagem de contêiner. A instrução EXPOSE
no Dockerfile definiu a porta de destino, que é a porta usada para enviar o tráfego de entrada para o contêiner.
Se o comando up
não encontrar um Dockerfile, ele usará os Buildpacks automaticamente para transformar a origem do aplicativo em um contêiner executável. Como o Buildpack está tentando executar o build em seu nome, você precisa informar ao comando up
para qual porta enviar tráfego de entrada.
No exemplo de código a seguir, o .
(ponto) diz para containerapp up
ser executado no diretório src
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
no comando containerapp up
.
Verificar a implantação
Copie o FQDN para um navegador da Web. No navegador da Web, vá até o ponto de extremidade /albums
do FQDN.
Limites
O tamanho máximo para carregar o código-fonte é de 200 MB. Se o carregamento ultrapassar o limite, o erro 413 será retornado.
Limpar os recursos
Se você não pretende continuar no tutorial Implantar um front-end, remova os recursos do Azure criados durante este início rápido com o comando a seguir.
Cuidado
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
Dica
Está enfrentando problemas? Deixe-nos saber sobre GitHub abrindo um problema no repositório dos Aplicativos de Contêiner do Azure.
Próximas etapas
Depois de concluir este início rápido, você pode continuar no Tutorial: Comunicação entre microsserviços nos Aplicativos de Contêiner do Azure para saber como implantar um aplicativo de front-end que chama a API.