Share via


Guia de início rápido: implantar uma instância de contêiner no Azure usando o Azure PowerShell

Utilize o Azure Container Instances para executar contentores de Docker sem servidor no Azure com simplicidade e celeridade. Implemente uma aplicação numa instância de contentor a pedido quando não precisar de uma plataforma completa de orquestração de contentores, como o Azure Kubernetes Service.

Neste início rápido, você usa o Azure PowerShell para implantar um contêiner isolado do Windows e disponibilizar seu aplicativo com um FQDN (nome de domínio totalmente qualificado) e porta. Alguns segundos depois de executar um único comando de implantação, você pode navegar até 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 não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. Captura de tela que mostra um exemplo de Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou comando.

Se você optar por instalar e usar o PowerShell localmente, este tutorial exigirá o módulo do Azure PowerShell. Executar Get-Module -ListAvailable Az para localizar a versão. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se estiver a executar localmente o PowerShell, também terá de executar o Connect-AzAccount para criar uma ligação com o Azure.

Criar um grupo de recursos

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.

Primeiro, crie um grupo de recursos chamado 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

Pode expor os seus contentores à Internet, especificando uma ou mais portas a abrir, uma etiqueta de nome DNS ou ambos. Neste início rápido, você implanta um contêiner com um rótulo de nome DNS para que ele seja acessível publicamente. Neste guia, faremos as duas coisas, mas primeiro, você precisa criar um objeto de porta no PowerShell para sua instância de contêiner 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, 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 uma 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 grupo de recursos, um local para o grupo de contêineres, a instância de contêiner que você acabou de criar, o tipo de sistema operacional e um rótulo de nome DNS de endereço IP exclusivo.

Execute um comando semelhante ao seguinte para iniciar uma instância de contêiner. Defina um -IPAddressDnsNameLabel valor exclusivo dentro da região do Azure onde você cria a instância. Se receber uma mensagem de erro "A etiqueta de nome DNS não está disponível ", experimente uma etiqueta 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)

Alguns segundos depois, deverá receber uma resposta do Azure. O estado do contentor ProvisioningState inicialmente é A criar, mas deve passar para um Com êxito ao fim de um ou dois minutos. Verifique o estado da implantação com o cmdlet Get-AzContainerGroup :

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Você também pode imprimir o objeto $containerGroup e filtrar a tabela para o 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 contêiner ProvisioningState for Bem-sucedido, vá para seu FQDN no navegador. Se lhe for apresentada uma página Web semelhante à seguinte, parabéns! Implementou com êxito uma aplicação em execução num contentor de Docker para 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]

Clean up resources (Limpar recursos)

Quando terminar de usar o contêiner, remova-o com o cmdlet Remove-AzContainerGroup :

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Próximos passos

Neste início rápido, criou uma instância de contentor do Azure a partir de uma imagem no registo do Hub do Docker público. Se quiser criar uma imagem de contentor e implementá-la partir de um registo de contentor privado do Azure, prossiga para o tutorial do Azure Container Instances.