Guia de início rápido: implantar uma instância de contêiner no Azure usando a CLI do Docker
Utilize o Azure Container Instances para executar contentores de Docker sem servidor no Azure com simplicidade e celeridade. Implante em uma instância de contêiner sob demanda quando desenvolver aplicativos nativos da nuvem e quiser alternar perfeitamente do desenvolvimento local para a implantação na nuvem.
Neste início rápido, você usa comandos nativos da CLI do Docker para implantar um contêiner do Docker e disponibilizar seu aplicativo nas Instâncias de Contêiner do Azure. A integração entre o Docker e o Azure permite esse recurso. Alguns segundos depois de executar um docker run
comando, você pode navegar até o aplicativo em execução no contêiner:
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Para este início rápido, você precisa do Docker Desktop versão 2.3.0.5 ou posterior, disponível para Windows ou macOS. Ou instale a CLI de integração do Docker ACI para Linux.
Importante
Nem todos os recursos das Instâncias de Contêiner do Azure são suportados. Forneça comentários sobre a integração Docker-Azure criando um problema no repositório GitHub aci-integration-beta .
Criar contexto do Azure
Para usar comandos do Docker para executar contêineres em Instâncias de Contêiner do Azure, primeiro faça logon no Azure:
docker login azure --tenant-id "[tenant ID]"
Para encontrar sua ID de locatário, navegue até as propriedades da ID do Microsoft Entra.
Quando solicitado, insira ou selecione suas credenciais do Azure.
Crie um contexto ACI executando docker context create aci
o . Esse contexto associa o Docker a uma assinatura do Azure e a um grupo de recursos para que você possa criar e gerenciar instâncias de contêiner. Por exemplo, para criar um contexto chamado myacicontext:
docker context create aci myacicontext
Quando solicitado, selecione sua ID de assinatura do Azure e, em seguida, selecione um grupo de recursos existente ou crie um novo grupo de recursos. Se você escolher um novo grupo de recursos, ele terá um nome gerado pelo sistema na criação. O Azure Container Instances, como todos os recursos do Azure, tem de ser implementados num grupo de recursos. Os grupos de recursos permitem organizar e gerir recursos relacionados do Azure.
Execute docker context ls
para confirmar que você adicionou o contexto ACI aos contextos do Docker:
docker context ls
Criar um contentor
Depois de criar um contexto do Docker, você pode criar um contêiner no Azure. Neste início rápido, você usa a imagem pública mcr.microsoft.com/azuredocs/aci-helloworld
. Esta imagem empacota um pequeno aplicativo Web escrito em Node.js que serve uma página HTML estática.
Primeiro, mude para o contexto ACI. Todos os comandos subsequentes do Docker são executados nesse contexto.
docker context use myacicontext
Execute o seguinte docker run
comando para criar a instância de contêiner do Azure com a porta 80 exposta à Internet:
docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld
Saída de exemplo para uma implantação bem-sucedida:
[+] Running 2/2
⠿ hungry-kirch Created 5.1s
⠿ single--container--aci Done 11.3s
hungry-kirch
Execute docker ps
para obter detalhes sobre o contêiner em execução, incluindo o endereço IP público:
docker ps
A saída de exemplo mostra um endereço IP público, neste caso 52.230.225.232:
CONTAINER ID IMAGE COMMAND STATUS PORTS
hungry-kirch mcr.microsoft.com/azuredocs/aci-helloworld Running 52.230.225.232:80->80/tcp
Agora vá para o endereço IP no seu navegador. Se lhe for apresentada uma página Web semelhante à seguinte, parabéns! Você implantou com êxito um aplicativo em execução em um contêiner do Docker no Azure.
Extrair os registos de contentor
Quando precisar de resolver problemas de um contentor ou da aplicação nele executada (ou apenas ver o respetivo resultado), comece por visualizar os registos da instância de contentor.
Por exemplo, execute o docker logs
comando para ver os logs do contêiner hungry-kirch no contexto ACI:
docker logs hungry-kirch
A saída apresenta os registos para o contentor e deve mostrar os pedidos GET de HTTP gerados quando visualizou a aplicação no seu browser.
listening on port 80
::ffff:10.240.255.55 - - [07/Jul/2020:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [07/Jul/2020:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
Clean up resources (Limpar recursos)
Quando terminar de usar o contêiner, execute docker rm
para removê-lo. Este comando para e exclui a instância de contêiner do Azure.
docker rm hungry-kirch
Próximos passos
Neste início rápido, você criou uma instância de contêiner do Azure a partir de uma imagem pública usando a integração entre o Docker e o Azure. Saiba mais sobre cenários de integração na documentação do Docker.
Você também pode usar a extensão Docker para Visual Studio Code para uma experiência integrada para desenvolver, executar e gerenciar contêineres, imagens e contextos.
Para usar as ferramentas do Azure para criar e gerenciar instâncias de contêiner, consulte outros inícios rápidos usando a CLI do Azure, o Azure PowerShell, o portal do Azure e o modelo do Azure Resource Manager.
Se você quiser usar o Docker Compose para definir e executar um aplicativo de vários contêineres localmente e, em seguida, alternar para Instâncias de Contêiner do Azure, continue para o tutorial.