Snabbstart: Distribuera en containerinstans i Azure med Azure PowerShell

Använd Azure Container Instances till att snabbt och enkelt köra serverlösa Docker-containrar i Azure. Distribuera ett program i en containerinstans på begäran när du inte behöver en komplett plattform för containerorkestrering som Azure Kubernetes Service.

I den här snabbstarten använder du Azure PowerShell för att distribuera en isolerad Windows-container och göra programmet tillgängligt med ett fullständigt kvalificerat domännamn (FQDN) och en port. Några sekunder efter att du har kört ett enda distributionskommando kan du bläddra till programmet som körs i containern:

! [App distribuerad till Azure Container Instances som visas i webbläsaren] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Skärmbild som visar ett exempel på Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Knapp för att starta Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Skärmbild som visar Cloud Shell-knappen i Azure-portalen

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Om du väljer att installera och använda PowerShell lokalt behöver du ha Azure PowerShell-modulen för den här självstudien. Kör Get-Module -ListAvailable Az för att hitta versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.

Skapa en resursgrupp

Azure-containerinstanser (liksom alla Azure-resurser) måste distribueras till en resursgrupp. Resursgrupper gör det enkelt att se och hantera relaterade Azure-resurser.

Skapa först en resursgrupp med namnet myResourceGroup på platsen eastus (USA, östra) med följande kommando New-AzResourceGroup:

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Skapa en port för containerinstansen

Du kan exponera dina containrar till internet genom att ange en eller flera portar som ska öppnas, en DNS-namnetikett eller båda. I den här snabbstarten distribuerar du en container med en DNS-namnetikett så att den kan nås offentligt. I den här guiden ska vi göra båda, men först måste du skapa ett portobjekt i PowerShell för att containerinstansen ska kunna användas.

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

Skapa en behållargrupp

Nu när du har en resursgrupp och port kan du köra en container som exponeras för Internet i Azure. Om du vill skapa en containerinstans med Azure PowerShell måste du först skapa en ContainerInstanceObject genom att ange ett namn, en avbildning och en port för containern. I den här snabbstarten använder du den offentliga mcr.microsoft.com/azuredocs/aci-helloworld avbildningen.

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

Använd sedan cmdleten New-AzContainerGroup . Du måste ange ett namn för containergruppen, resursgruppens namn, en plats för containergruppen, containerinstansen som du nyss skapade, operativsystemtypen och en unik DNS-namnetikett för IP-adress.

Kör ett kommando som liknar följande för att starta en containerinstans. Ange ett -IPAddressDnsNameLabel värde som är unikt i Azure-regionen där du skapar instansen. Om du får felmeddelandet ”DNS-namnetiketten är inte tillgänglig” provar du med en annan DNS-namnetikett.

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

Inom några sekunder bör du få ett första svar från Azure. Containerns ProvisioningState är initialt Skapa, men bör flyttas till Lyckades inom en minut eller två. Kontrollera distributionsstatusen med hjälp av cmdleten Get-AzContainerGroup:

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Du kan också skriva ut $containerGroup-objektet och filtrera tabellen efter containerns etableringstillstånd, fullständigt kvalificerade domännamn (FQDN) och IP-adress.

$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP

Containerns etableringstillstånd, FQDN och IP-adress visas i cmdletens utdata:

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                   : {}

Om containerns har slutförts ProvisioningStategår du till dess fullständiga domännamn i webbläsaren. Om du ser en webbsida som liknar följande – grattis! Du har distribuerat ett program som körs i en Docker-container till Azure.

! [Visa en app som distribuerats till Azure Container Instances i webbläsaren] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

Rensa resurser

När du är klar med containern kan du ta bort den med cmdleten Remove-AzContainerGroup:

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Nästa steg

I den här snabbstarten har du skapat en Azure-containerinstans utifrån en avbildning som finns i det offentliga Docker Hub-registret. Om du vill skapa en container på egen hand och distribuera den från ett privat Azure-containerregister går du vidare till självstudien för Azure Container Instances.