Quickstart: Een containerinstantie implementeren in Azure met behulp van Azure PowerShell

Gebruik Azure Container Instances om snel en eenvoudig serverloze Docker-containers uit te voeren in Azure. Een toepassing implementeren in een containerinstantie op aanvraag, wanneer u geen volledig indelingsplatform voor containers nodig hebt zoals Azure Kubernetes Service.

In deze quickstart gebruikt u Azure PowerShell om een geïsoleerde Windows-container te implementeren en de toepassing beschikbaar te maken met een FQDN (Fully Qualified Domain Name) en poort. Een paar seconden na het uitvoeren van de opdracht voor één implementatie kunt u naar de toepassing browsen die wordt uitgevoerd in de container:

! [App geïmplementeerd in Azure Container Instances bekeken in browser] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Schermopname van een voorbeeld van Probeer het nu voor Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Knop om Azure Cloud Shell te starten.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Schermopname van de knop Cloud Shell in Azure Portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Als u PowerShell lokaal wilt installeren en gebruiken, is voor deze zelfstudie de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om de versie te bekijken. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om verbinding te kunnen maken met Azure.

Een brongroep maken

Azure Container Instances, zoals alle Azure-resources, moeten worden geïmplementeerd in een resourcegroep. Met resourcegroepen kunt u gerelateerde Azure-resources ordenen en beheren.

Maak eerst een resourcegroep met de naam myResourceGroup op de locatie eastus met behulp van de volgende opdracht New-AzResourceGroup:

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Een poort maken voor uw containerinstantie

Als u uw containers beschikbaar wilt maken op internet, moet u een of meer poorten om te openen of een DNS-naamlabel opgeven, of beide. In deze quickstart implementeert u een container met een DNS-naamlabel, zodat deze openbaar bereikbaar is. In deze handleiding doen we beide, maar eerst moet u een poortobject maken in PowerShell om uw containerinstantie te kunnen gebruiken.

$port = New-AzContainerInstancePortOject -Port 80 -Protocol TCP

Een containergroep maken

Nu u een resourcegroep en poort hebt, kunt u een container uitvoeren die beschikbaar is voor internet in Azure. Als u een containerinstantie wilt maken met Azure PowerShell, moet u eerst een ContainerInstanceObject container maken door een naam, installatiekopieën en poort voor de container op te geven. In deze quickstart gebruikt u de openbare installatiekopie mcr.microsoft.com/azuredocs/aci-helloworld.

New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)

Gebruik vervolgens de cmdlet New-AzContainerGroup . U moet een naam opgeven voor de containergroep, de naam van de resourcegroep, een locatie voor de containergroep, het containerexemplaren dat u zojuist hebt gemaakt, het type besturingssysteem en een uniek DNS-naamlabel voor IP-adressen.

Voer een opdracht uit die er als volgt uitziet om een containerinstantie te starten. Stel een -IPAddressDnsNameLabel-waarde in die uniek is voor de Azure-regio waarin u de instantie maakt. Als u een foutbericht 'DNS-naamlabel niet beschikbaar' ontvangt, probeert u een ander DNS-naamlabel.

$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)

U ontvangt binnen enkele seconden een reactie van Azure. De ProvisioningState van de container is in eerste instantie Maken, maar moet binnen twee minuten veranderen in Geslaagd. Controleer de implementatiestatus met behulp van de cmdlet Get-AzContainerGroup:

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

U kunt ook het $containerGroup-object afdrukken en de tabel filteren op de inrichtingsstatus van de container, FQDN (Fully Qualified Domain Name) en IP-adres.

$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP

De inrichtingsstatus, FQDN en het IP-adres van de container worden weergegeven in de uitvoer van de 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                   : {}

Als de ProvisioningState van de container Geslaagd is, gaat u naar de FQDN in de browser. U moet nu een webpagina zien die lijkt op de volgende. U hebt een toepassing geïmplementeerd die wordt uitgevoerd in een Docker-container voor Azure.

! [Een app weergeven die is geïmplementeerd in Azure Container Instances in de browser] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

Resources opschonen

Wanneer u klaar bent met de container, kunt u deze verwijderen met behulp van de cmdlet Remove-AzContainerGroup:

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Volgende stappen

In deze snelstart hebt u een Azure-containerinstantie van een installatiekopie gemaakt in een openbaar Docker Hub-regiser. Als u zelf een containerinstallatiekopie wilt bouwen en deze wilt implementeren met behulp van een privé Azure Container-register, gaat u verder met de zelfstudie voor Azure Container Instances.