Guia de início rápido: implantar uma instância de contêiner no Azure usando o Azure PowerShell
Use as Instâncias de Contêiner do Azure para executar contêineres do Docker sem servidor no Azure de maneira simples e rápida. Implante um aplicativo em uma instância de contêiner sob demanda quando você não precisa de uma plataforma de orquestração de contêiner completa como o Serviço de Kubernetes do Azure.
Neste início rápido, você usará o Azure PowerShell para implantar um contêiner do Windows isolado e disponibilizar o respectivo aplicativo com um FQDN (nome de domínio totalmente qualificado) e porta. Alguns segundos depois de executar um comando único de implantação, é possível navegar para o aplicativo em execução no contêiner:
![Aplicativo implantado em Instâncias de Contêiner do Azure exibidas no navegador][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou o comando.
Se você optar por instalar e usar o PowerShell localmente, este tutorial exigirá o módulo do Azure PowerShell. Execute Get-Module -ListAvailable Az
para encontrar a versão. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount
para criar uma conexão com o Azure.
Criar um grupo de recursos
Instâncias de Contêiner do Azure, assim como todos os recursos do Azure, precisam ser implantadas em um grupo de recursos. Os grupos de recursos facilitam organizar e gerenciar os recursos relacionados ao Azure.
Primeiramente, crie um grupo de recursos denominado myResourceGroup no local eastus com o seguinte comando New-AzResourceGroup:
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Criar uma porta para sua instância de contêiner
Você pode expor seus contêineres à Internet especificando um ou mais portas a serem abertas, um rótulo de nome DNS ou ambos. Neste início rápido, você implantará um contêiner com um rótulo de nome DNS para que ele fique publicamente acessível. Neste guia, faremos as duas coisas. Mas antes, você precisará criar um objeto de porta no PowerShell para que sua instância de contêiner possa usar.
$port = New-AzContainerInstancePortObject -Port 80 -Protocol TCP
Criar um grupo de contêineres
Agora que você tem um grupo de recursos e uma porta, você pode executar um contêiner exposto à Internet no Azure. Para criar uma instância de contêiner com o Azure PowerShell, primeiro você precisará criar um ContainerInstanceObject
fornecendo um nome, imagem e porta para o contêiner. Neste início rápido, você usa a imagem pública mcr.microsoft.com/azuredocs/aci-helloworld
.
New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)
Em seguida, use o cmdlet New-AzContainerGroup. Você precisa fornecer um nome para o grupo de contêineres, o nome do seu grupo de recursos, um local para o grupo de contêineres, a instância de contêiner que você criou, o tipo de sistema operacional e um rótulo de nome DNS com endereço IP exclusivo.
Execute um comando similar ao seguinte para iniciar uma instância de contêiner. Defina um valor de -IPAddressDnsNameLabel
que seja exclusivo na região do Azure em que você criará a instância. Se você receber uma mensagem de erro “Rótulo de nome DNS não disponível”, tente usar um rótulo de nome DNS diferente.
$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)
Em alguns segundos, você deverá receber uma resposta do Azure. O ProvisioningState
do contêiner inicialmente tem o status Criando, mas deve mudar para Bem-sucedido dentro de um ou dois minutos. Verifique o status de implantação usando o cmdlet Get-AzContainerGroup:
Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Você também pode imprimir o objeto $containerGroup e filtrar a tabela por estado de provisionamento do contêiner, FQDN (nome de domínio totalmente qualificado) e endereço IP.
$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP
O estado de provisionamento, o FQDN e o endereço IP do contêiner aparecem na saída do cmdlet:
PS Azure:\> Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
ResourceGroupName : myResourceGroup
Id : /subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup
Name : myContainerGroup
Type : Microsoft.ContainerInstance/containerGroups
Location : eastus
Tags :
ProvisioningState : Creating
Containers : {myContainer}
ImageRegistryCredentials :
RestartPolicy : Always
IpAddress : 52.226.19.87
DnsNameLabel : aci-demo-win
Fqdn : aci-demo-win.eastus.azurecontainer.io
Ports : {80}
OsType : Windows
Volumes :
State : Pending
Events : {}
Se o ProvisioningState
do contêiner for Êxito, vá até o FQDN dele no seu navegador. Se você encontrar uma página da Web semelhante à seguinte, parabéns! Você conseguiu implantar com sucesso um aplicativo que está em execução em um contêiner do Docker no Azure.
![Exibir um aplicativo implantado em Instâncias de Contêiner do Azure no navegador][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Limpar os recursos
Ao concluir o contêiner, remova-o usando o cmdlet Remove-AzContainerGroup:
Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Próximas etapas
Neste guia de início rápido, você criou uma instância de Contêiner do Azure com base em uma imagem em no registro do Hub do Docker público. Se você quiser criar uma imagem de contêiner e implantá-la usando um Registro de Contêiner do Azure privado, prossiga para o tutorial das Instâncias de Contêiner do Azure.