Tutorial: Implantar um aplicativo de contêiner em instâncias de contêiner do Azure
Este é o último tutorial de uma série de três partes. Nas duas primeiras partes da série, foi criada uma imagem de contentor e enviada para o Azure Container Registry. Este artigo termina a série ao implementar o contentor no Azure Container Instances.
Neste tutorial:
- Vai implementar o contentor a partir do Azure Container Registry para o Azure Container Instances
- Vai ver a aplicação em execução no browser
- Vai ver os registos do contentor
Antes de começar
Tem de cumprir os requisitos seguintes para concluir este tutorial:
CLI do Azure: Tem de ter a CLI do Azure versão 2.0.29 ou posterior instalada no computador local. Para localizar a versão, execute az --version
. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure.
Docker: Este tutorial pressupõe conhecimentos básicos dos principais conceitos do Docker, como contentores, imagens de contentor e comandos básicos do docker
. Para um manual de noções básicas do Docker e do contentor, veja a descrição geral do Docker.
Docker: Para concluir este tutorial, você precisa do Docker instalado localmente. O Docker oferece pacotes que configuram o ambiente do Docker no macOS, no Windows e no Linux.
Importante
Uma vez que a shell do Azure Cloud não inclui o daemon do Docker, tem de instalar a CLI do Azure e o Motor do Docker no seu computador local para concluir este tutorial. Não pode utilizar o Azure Cloud Shell para este tutorial.
Implementar o contentor através da CLI do Azure
Nesta secção, vai utilizar a CLI do Azure para implementar a imagem criada no primeiro tutorial e enviada para o Azure Container Registry no segundo tutorial. Certifique-se de concluir esses tutoriais antes de prosseguir.
Obter as credenciais do registo
Ao implantar uma imagem hospedada em um registro de contêiner privado do Azure, como a criada no segundo tutorial, você deve fornecer credenciais para acessar o registro.
Uma prática recomendada para muitos cenários é criar e configurar uma entidade de serviço do Microsoft Entra com permissões pull para o seu registro. Consulte Autenticar com o Registro de Contêiner do Azure de Instâncias de Contêiner do Azure para obter scripts de exemplo para criar uma entidade de serviço com as permissões necessárias. Anote o ID da entidade de serviço e a senha da entidade de serviço. Você usa essas credenciais para acessar o registro ao implantar o contêiner.
Você também precisa do nome completo do servidor de entrada do registro de contêiner (substitua <acrName>
pelo nome do seu registro):
az acr show --name <acrName> --query loginServer
Implementar o contentor
Agora, utilize o comando az container create para implementar o contentor. Substitua <acrLoginServer>
pelo valor obtido do comando anterior. Substitua <service-principal-ID>
e <service-principal-password>
pela ID da entidade de serviço e senha 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
Dentro de alguns segundos, deverá receber uma resposta inicial do Azure. O valor --dns-name-label
tem de ser exclusivo na região do Azure em que cria a instância de contentor. Modifique o valor no comando anterior se receber uma mensagem de erro de Etiqueta de nome DNS quando executar o comando.
Verificar o progresso da implementação
Para ver o estado da implementação, utilize 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 seja alterado de Pendente para Em execução, o que deve demorar menos de um minuto. Quando o contentor estiver Em execução, avance para o passo seguinte.
Ver os registos de aplicações e do contentor
Após a implementação com êxito, apresente o nome de domínio completamente qualificado (FQDN) do contentor 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 a aplicação em execução, navegue até ao nome DNS apresentado no seu browser favorito:
Também pode ver a saída de registos do contentor:
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"
Clean up resources (Limpar recursos)
Se já não precisar dos recursos criados nesta série de tutoriais, poderá executar o comando az group delete para remover o grupo de recursos e todos os recursos nele contidos. Este comando exclui o registro de contêiner que você criou, o contêiner em execução e todos os recursos relacionados.
az group delete --name myResourceGroup
Próximos passos
Neste tutorial, concluiu o processo de implementação do contentor no Azure Container Instances. Foram efetuados os seguintes passos:
- Foi implementado o contentor do Azure Container Registry através da CLI do Azure
- Foi visualizada a aplicação no browser
- Foram visualizados os registos de contentor
Agora que já tem as noções básicas, avance para saber mais sobre o Azure Container Instances, como, por exemplo, como funcionam os grupos de contentores: