Delen via


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 nadat u één implementatieopdracht hebt uitgevoerd, kunt u bladeren naar de toepassing die wordt uitgevoerd in de container:

Schermopname van de app die is geïmplementeerd in Azure Container Instances die in de browser wordt weergegeven.

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Opmerking

U wordt aangeraden 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 met Cloud Shell gebruiken om te werken met Azure-services. 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 met een voorbeeld van Try It for 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 op Windows en Linux de toetsencombinatie Ctrl+Shift+V in te drukken, of op macOS de toetsencombinatie Cmd+Shift+V te gebruiken.

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

Als u ervoor kiest om PowerShell lokaal te installeren en te gebruiken, is voor deze zelfstudie de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om de versie te vinden. Zie Azure PowerShell-module installerenals u een upgrade wilt uitvoeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om een verbinding met Azure te maken.

Een brongroep maken

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

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

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Een poort maken voor uw containerinstantie

U kunt uw containers beschikbaar maken op internet door een of meer poorten op te geven die moeten worden geopend, een DNS-naamlabel 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-AzContainerInstancePortObject -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 aanmaken door een naam, image en poort voor de container op te geven. In deze snelstartgids gebruikt u de openbare mcr.microsoft.com/azuredocs/aci-helloworld afbeelding.

$containerInstance = 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 containerexemplaar dat u hebt gemaakt, het type besturingssysteem en een uniek DNS-naamlabel voor een IP-adres.

Voer een opdracht uit zoals hieronder om een containerinstantie te starten. Stel een -IPAddressDnsNameLabel waarde in die uniek is binnen de Azure-regio waar u het exemplaar maakt. Als u een foutbericht 'DNS-naamlabel niet beschikbaar' ontvangt, probeert u een ander DNS-naamlabel.

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

Als u de containergroep zonegebonden wilt maken, gebruikt u het -Zone argument en geeft u het nummer van de logische zone op:

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

Belangrijk

Zonegebonden containergroepen zijn alleen beschikbaar in regio's die beschikbaarheidszones ondersteunen. Als u wilt zien of uw regio beschikbaarheidszones ondersteunt, raadpleegt u de lijst met Azure-regio's.

Binnen een paar seconden ontvangt u een antwoord van Azure. De container ProvisioningState wordt in eerste instantie gemaakt, maar moet binnen een paar minuten naar Geslaagd worden verplaatst. Controleer de implementatiestatus met 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 container ProvisioningStateis geslaagd, gaat u naar de FQDN in uw browser. Als u een webpagina ziet die lijkt op het volgende, gefeliciteerd! U hebt een toepassing geïmplementeerd die wordt uitgevoerd in een Docker-container naar Azure.

Schermopname van het weergeven van een app die is geïmplementeerd in Azure Container Instances in de browser.

De hulpbronnen opschonen

Wanneer u klaar bent met de container, verwijdert u deze met de cmdlet Remove-AzContainerGroup :

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Volgende stappen

In deze quickstart hebt u een Azure-containerinstantie gemaakt van een afbeelding in het openbare Docker Hub-register. 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.