Tutorial: Implantar um aplicativo de contêiner nas Instâncias de Contêiner do Azure

Este é o tutorial final de uma série de três partes. Anteriormente na série, uma imagem de contêiner foi criada e enviada por push ao Registro de Contêiner do Azure. Este artigo conclui a série implantando o contêiner em Instâncias de Contêiner do Azure.

Neste tutorial, você:

  • Implantará o contêiner do Registro de Contêiner do Azure nas Instâncias de Contêiner do Azure
  • Verá o aplicativo em execução no navegador
  • Exibirá os logs do contêiner

Antes de começar

Você deve atender aos seguintes requisitos para concluir este tutorial:

CLI do Azure: você deve ter a CLI do Azure versão 2.0.29 ou posterior instalada no computador local. Para saber qual é a versão, execute az --version. Se você precisar instalar ou atualizar, confira Instalar a CLI do Azure.

Docker: este tutorial pressupõe uma compreensão básica dos conceitos fundamentais do Docker, como contêineres, imagens de contêineres e comandos básicos do docker. Para instruções sobre conceitos básicos do Docker e de contêiner, consulte a visão geral do Docker.

Docker: Para concluir este tutorial, você precisa do Docker instalado localmente. O Docker fornece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux.

Importante

Como o Azure Cloud Shell não inclui o daemon do Docker, você deve instalar a CLI do Azure e o Mecanismo do Docker em seu computador local para concluir este tutorial. Você não pode usar o Azure Cloud Shell para este tutorial.

Implantar o contêiner usando a CLI do Azure

Nesta seção, você usará a CLI do Azure para implantar a imagem criada no primeiro tutorial e enviada por push para o Registro de Contêiner do Azure no segundo tutorial. Certifique-se de completar esses tutoriais antes de prosseguir.

Obter credenciais de registro

Ao implantar uma imagem hospedada em um registro de contêiner privado do Azure, como aquele criado no segundo tutorial, você precisará fornecer credenciais para acessar o registro.

Uma melhor prática para muitos cenários é criar e configurar uma entidade de serviço do Microsoft Entra com permissões de pull no registro. Consulte Autenticar com o Registro de Contêiner do Azure de Instâncias de Contêiner do Azure para obter os scripts de exemplo para criar uma entidade de serviço com as permissões necessárias. Anote a ID e a senha da entidade de serviço e a senha da entidade de serviço. Use essas credenciais para acessar o registro quando implantar o contêiner.

Você também precisa do nome completo do servidor de registro de entrada do contêiner (substitua <acrName> pelo nome de seu registro):

az acr show --name <acrName> --query loginServer

Implantar o contêiner

Agora, use o comando az container create para implantar o contêiner. Substitua <acrLoginServer> pelo valor obtido no comando anterior. Substitua <service-principal-ID> e <service-principal-password> pela ID e pela senha da entidade de serviço que você criou para acessar o registro. Substitua <aciDnsLabel> por um nome DNS desejado.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

Em alguns segundos, você deverá receber uma resposta inicial do Azure. O valor --dns-name-label deve ser exclusivo dentro da região do Azure em que você criar a instância do contêiner. Modifique o valor no comando anterior caso receba uma mensagem de erro de rótulo do nome DNS ao executar o comando.

Verificar o progresso da implantação

Para exibir o estado da implantação, use o comando az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Repita o comando az container show até que o estado mude de Pendente para Executando, o que deve levar menos de um minuto. Quando o contêiner estiver Executando, vá para a próxima etapa.

Exibir os logs do aplicativo e do contêiner

Depois que a implantação for bem-sucedida, exiba o FQDN (nome de domínio totalmente qualificado) do contêiner com o comando az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Por exemplo:

"aci-demo.eastus.azurecontainer.io"

Para ver o aplicativo em execução, navegue até o nome DNS exibido em seu navegador favorito:

Aplicativo Olá, Mundo no navegador

Você também pode exibir a saída do log do contêiner:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Saída de exemplo:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Limpar recursos

Se não precisar mais de nenhum dos recursos criados nessa série de tutoriais, você poderá executar o comando az group delete para remover o grupo de recursos e todos os recursos que ele contém. Esse comando exclui o registro do contêiner criado, o contêiner em execução e todos os recursos relacionados.

az group delete --name myResourceGroup

Próximas etapas

Neste tutorial, você concluiu o processo de implantação do seu contêiner nas Instâncias de Contêiner do Azure. As etapas a seguir foram concluídas:

  • Implantar o contêiner do Registro de Contêiner do Azure usando a CLI do Azure
  • Exibir o aplicativo no navegador
  • Exibir os logs de contêiner

Agora que você tem as noções básicas, siga em frente para saber mais sobre Instâncias de Contêiner do Azure, por exemplo, como funcionam os grupos de contêiner:

Grupos de contêineres em Instâncias de Contêiner do Azure