Partilhar via


Implantar um aplicativo Web Go em Aplicativos de Contêiner do Azure

Neste início rápido, você aprenderá a implantar um aplicativo Web Go em contêiner para Aplicativos de Contêiner do Azure.

As Aplicações de Contentor do Azure permitem-lhe executar código de aplicação empacotado em qualquer contentor sem ter de gerir infraestruturas de nuvem complicadas ou orquestradores de contentores complexos e sem se preocupar com o tempo de execução ou o modelo de programação. Os usos comuns dos Aplicativos de Contêiner do Azure incluem: implantação de pontos de extremidade de API, hospedagem de aplicativos de processamento em segundo plano, manipulação de processamento controlado por eventos e execução de microsserviços.

Siga este tutorial para percorrer a criação de uma imagem do Docker, a implantação dessa imagem no Registro de Contêiner do Azure e a implantação de um aplicativo Web Go nos Aplicativos de Contêiner do Azure.

Pré-requisitos

  • Subscrição do Azure: se não tem uma subscrição do Azure, crie uma conta gratuita antes de começar.

Transferir a aplicação de exemplo

Para seguir este tutorial, você precisará de um aplicativo de exemplo para criar contêineres. Um exemplo de aplicativo Web Go é fornecido no repositório GitHub msdocs-go-webapp-quickstart . Transfira ou clone a aplicação de exemplo para a estação de trabalho local.

git clone https://github.com/Azure-Samples/msdocs-go-webapp-quickstart.git

cd msdocs-go-webapp-quickstart

Criar um Azure Container Registry

O Registro de Contêiner do Azure permite que você crie, armazene e gerencie imagens de contêiner. Você o usará para armazenar a imagem do Docker que contém o aplicativo Web Go de exemplo fornecido no repositório de exemplo mencionado anteriormente.

Execute os seguintes comandos para criar um Registro de Contêiner do Azure:

  1. Criar um grupo de recursos do Azure.

    az group create \
        --name <resourceGroupName> \
        --location eastus
    
  2. Crie um registo de contentor do Azure Container Registry.

    az acr create \
        --resource-group <resourceGroupName> \
        --name <azureContainerRegistryName> \
        --sku basic \
        --admin-enabled true
    
  3. Entre na instância de contêiner do Azure.

    az acr login --name <azureContainerRegistryName>  
    

Substitua <resourceGroupName> e <azureContainerRegistryName> com os valores apropriados. Observe que seu nome do Registro de Contêiner do Azure precisará ser globalmente exclusivo.

Crie e envie por push a imagem do Docker

Depois de criar um Registro de Contêiner do Azure, crie e envie por push a imagem do Docker do aplicativo Web Go de exemplo.

Execute os seguintes comandos build e push a imagem para o registro:

  1. Obtenha as informações do servidor de início de sessão.

    az acr show \
        --name <azureContainerRegistryName> \
        --resource-group <resourceGroupName> \
        --query loginServer \
        --output tsv  
    
  2. Crie a imagem do Docker localmente.

    docker build -t <loginServer>/<imageName>:latest .
    
  3. Envie a imagem do Docker para o Registro de Contêiner do Azure.

    docker push <loginServer>/<imageName>:latest
    
  4. Verifique se a imagem foi enviada por push com êxito para o Registro de Contêiner do Azure.

    az acr repository list \
        --name <azureContainerRegistryName> \
        --output table
    

Substitua loginServer, imageNamee azureContainerRegistryName com os valores apropriados. O nome da imagem é a imagem do Docker que é enviada por push para o Registro de Contêiner do Azure e posteriormente usada para implantar em Aplicativos de Contêiner do Azure.

Agora que você tem uma imagem disponível no Registro de Contêiner do Azure, está pronto para implantar o Aplicativo de Contêiner do Azure e seu ambiente.

Criar um ambiente de Aplicativos de Contêiner do Azure

Os Aplicativos de Contêiner do Azure não têm a complexidade de um orquestrador de contêineres, mas ainda precisam de alguma maneira de estabelecer limites seguros, que é onde os ambientes dos Aplicativos de Contêiner do Azure entram. Os aplicativos de contêiner implantados no mesmo ambiente compartilham a mesma rede virtual e gravam logs no mesmo espaço de trabalho do Log Analytics. Antes de implantar um Aplicativo de Contêiner do Azure, você precisará de um ambiente para implantar.

Execute os seguintes comandos para criar um ambiente de Aplicativos de Contêiner do Azure:

  1. Obtenha a senha de administrador do Registro de Contêiner do Azure.

    ACR_PASSWORD=$(az acr credential show \
        --name <azureContainerRegistryName> \
        --query 'passwords[0].value' \
        --out tsv)
    
  2. Crie um ambiente de aplicativos de contêiner.

    az containerapp env create \
        --name <containerAppEnvName> \
        --resource-group <resourceGroupName> \
        --location "East US"
    

Implantar em aplicativos de contêiner do Azure

Neste ponto, você criou um Registro de Contêiner do Azure, criou e enviou uma imagem do Docker para ele e criou um ambiente de Aplicativos de Contêiner do Azure. Tudo o que resta é implantar o aplicativo.

Execute o seguinte comando para implantar o aplicativo Web Go nos Aplicativos de Contêiner do Azure:

az containerapp create \
    --name <containerAppName> \
    --resource-group <resourceGroupName> \
    --environment <containerAppEnvName> \
    --image "<loginServer>/<imageName>:latest" \
    --registry-server "<loginServer>" \
    --registry-username "<azureContainerRegistryName>" \
    --registry-password "$ACR_PASSWORD" \
    --target-port 8080 \
    --ingress 'external'

Verificar o URL do aplicativo Web

Execute o seguinte comando da CLI do Azure para obter o FQDN (Nome de Domínio Totalmente Qualificado) da entrada do aplicativo Web.

APP_FQDN=$(az containerapp show \
    --name <containerAppName> \
    --resource-group <resourceGroupName> \
    --query properties.configuration.ingress.fqdn \
    --output tsv)

Em seguida, execute o comando curl no FQDN e confirme se a saída reflete o HTML do site.

curl "https://$APP_FQDN"

Recursos de limpeza

Quando terminar o aplicativo de exemplo, você poderá remover todos os recursos do aplicativo do Azure. Isso evita cobranças contínuas e mantém sua assinatura do Azure organizada. A remoção do grupo de recursos também remove todos os recursos do grupo de recursos e é a maneira mais rápida de remover todos os recursos do Azure para seu aplicativo.

az group delete \
    --name <resourceGroupName> \
    --no-wait

Próximos passos