Schnellstart: Bereitstellen einer Containerinstanz in Azure mithilfe von Azure PowerShell
Führen Sie mithilfe von Azure Container Instances serverlose Docker-Container schnell und einfach in Azure aus. Sie stellen eine Anwendung bedarfsgesteuert in einer Containerinstanz bereit, wenn Sie keine vollständige Containerorchestrierungsplattform wie Azure Kubernetes Service benötigen.
In diesem Schnellstart stellen Sie mithilfe von Azure PowerShell einen isolierten Windows-Container bereit und machen seine Anwendung über einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) und Port verfügbar. Einige Sekunden nach dem Ausführen eines einzigen Bereitstellungsbefehls können Sie zur ausgeführten Anwendung im Container navigieren:
![In Azure Container Instances bereitgestellte App im Browser][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Azure Cloud Shell
Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.
Starten von Azure Cloud Shell:
Option | Beispiel/Link |
---|---|
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. | |
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. | |
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
So verwenden Sie Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.
Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.
Wenn Sie PowerShell lokal installieren und verwenden möchten, müssen Sie für dieses Tutorial das Azure PowerShell-Modul verwenden. Führen Sie Get-Module -ListAvailable Az
aus, um die Version zu ermitteln. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount
ausführen, um eine Verbindung mit Azure herzustellen.
Erstellen einer Ressourcengruppe
Azure Container Instances muss wie alle Azure-Ressourcen in einer Ressourcengruppe bereitgestellt werden. Mit Ressourcengruppen können verwandte Azure-Ressourcen organisiert und verwaltet werden.
Erstellen Sie zunächst mit dem folgenden New-AzResourceGroup-Befehl eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus:
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Erstellen eines Ports für Ihre Containerinstanz
Sie können Ihre Container über das Internet verfügbar machen, indem Sie mindestens einen zu öffnenden Port und/oder eine DNS-Namensbezeichnung angeben. In diesem Schnellstart stellen Sie einen Container mit einer DNS-Namensbezeichnung bereit, damit er öffentlich erreichbar ist. In diesem Leitfaden werden die Schritte für beide Möglichkeiten erläutert. Zunächst müssen Sie jedoch in PowerShell ein Port-Objekt erstellen, das dann von Ihrer Containerinstanz verwendet wird.
$port = New-AzContainerInstancePortObject -Port 80 -Protocol TCP
Erstellen einer Containergruppe
Nachdem Sie nun über eine Ressourcengruppe und einen Port verfügen, können Sie einen Container ausführen, der über das Internet in Azure verfügbar gemacht wird. Um eine Containerinstanz mit Azure PowerShell zu erstellen, müssen Sie zunächst ein ContainerInstanceObject
erstellen, indem Sie einen Namen, ein Image und einen Port für den Container angeben. In diesem Schnellstart verwenden Sie das öffentliche Image mcr.microsoft.com/azuredocs/aci-helloworld
.
New-AzContainerInstanceObject -Name myContainer -Image mcr.microsoft.com/azuredocs/aci-helloworld -Port @($port)
Verwenden Sie als Nächstes das New-AzContainerGroup-Cmdlet. Sie müssen einen Namen für die Containergruppe, den Namen Ihrer Ressourcengruppe, einen Speicherort für die Containergruppe, die von Ihnen erstellte Containerinstanz, den Betriebssystemtyp und eine eindeutige DNS-Namensbezeichnung für die IP-Adresse angeben.
Führen Sie einen Befehl wie den folgenden aus, um eine Containerinstanz zu starten. Der Wert -IPAddressDnsNameLabel
muss in der Azure-Region, in der Sie die Instanz erstellen, eindeutig sein. Falls die Fehlermeldung „DNS-Namensbezeichnung ist nicht verfügbar.“ angezeigt wird, sollten Sie eine andere DNS-Namensbezeichnung verwenden.
$containerGroup = New-AzContainerInstanceObject -ResourceGroupName myResourceGroup -Name myContainerGroup -Location EastUS -Container myContainer -OsType Windows -IPAddressDnsNameLabel aci-quickstart-win -IpAddressType Public -IPAddressPort @($port)
Innerhalb weniger Sekunden sollten Sie eine Antwort von Azure erhalten. Als ProvisioningState
des Containers wird anfänglich Erstellung angezeigt, aber dies sollte sich nach ein oder zwei Minuten in Erfolgreich ändern. Überprüfen Sie den Bereitstellungsstatus mit dem Cmdlet Get-AzContainerGroup:
Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Sie können auch das $containerGroup-Objekt ausgeben und die Tabelle nach dem Bereitstellungsstatus des Containers, dem vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) und der IP-Adresse filtern.
$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP
Der Bereitstellungsstatus, der vollqualifizierte Domänenname und die IP-Adresse des Containers werden in der Cmdlet-Ausgabe angezeigt:
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 : {}
Wenn der Wert ProvisioningState
des Containers Erfolgreich lautet, navigieren Sie in Ihrem Browser zu seinem FQDN. Der Vorgang war erfolgreich, wenn in etwa die folgende Webseite angezeigt wird. Sie haben eine Anwendung, die in einem Docker-Container ausgeführt wird, erfolgreich in Azure bereitgestellt.
![Anzeigen einer in Azure Container Instances bereitgestellten App im Browser][./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]
Bereinigen von Ressourcen
Wenn Sie den Container nicht mehr benötigen, entfernen Sie ihn mithilfe des Cmdlets Remove-AzContainerGroup:
Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup
Nächste Schritte
In dieser Schnellstartanleitung haben Sie eine Azure-Containerinstanz auf der Grundlage eines Images in der öffentlichen Docker Hub-Registrierung erstellt. Fahren Sie mit dem Azure Container Instances-Tutorial fort, wenn Sie ein Containerimage erstellen und über eine private Azure-Containerregistrierung bereitstellen möchten.