Snabbstart: Distribuera en containerinstans i Azure med hjälp av en ARM-mall
Använd Azure Container Instances för att köra serverlösa Docker-containrar i Azure med enkelhet och hastighet. Distribuera ett program till en containerinstans på begäran när du inte behöver en fullständig plattform för containerorkestrering som Azure Kubernetes Service. I den här snabbstarten använder du en Azure Resource Manager-mall (ARM-mall) för att distribuera en isolerad Docker-container och göra dess webbapp tillgänglig med en offentlig IP-adress.
En ARM-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för ditt projekt. Mallen använder deklarativ syntax. I deklarativ syntax beskriver du din avsedda distribution utan att skriva sekvensen med programmeringskommandon för att skapa den.
Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas på Azure-portalen.
Krav
Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Granska mallen
Mallen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.4.1.14562",
"templateHash": "12367894147709986470"
}
},
"parameters": {
"name": {
"type": "string",
"defaultValue": "acilinuxpublicipcontainergroup",
"metadata": {
"description": "Name for the container group"
}
},
"image": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld",
"metadata": {
"description": "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
}
},
"port": {
"type": "int",
"defaultValue": 80,
"metadata": {
"description": "Port to open on the container and the public IP address."
}
},
"cpuCores": {
"type": "int",
"defaultValue": 1,
"metadata": {
"description": "The number of CPU cores to allocate to the container."
}
},
"memoryInGb": {
"type": "int",
"defaultValue": 2,
"metadata": {
"description": "The amount of memory to allocate to the container in gigabytes."
}
},
"restartPolicy": {
"type": "string",
"defaultValue": "Always",
"allowedValues": [
"Always",
"Never",
"OnFailure"
],
"metadata": {
"description": "The behavior of Azure runtime if container has stopped."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"functions": [],
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2019-12-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "[parameters('name')]",
"properties": {
"image": "[parameters('image')]",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
],
"resources": {
"requests": {
"cpu": "[parameters('cpuCores')]",
"memoryInGB": "[parameters('memoryInGb')]"
}
}
}
}
],
"osType": "Linux",
"restartPolicy": "[parameters('restartPolicy')]",
"ipAddress": {
"type": "Public",
"ports": [
{
"port": "[parameters('port')]",
"protocol": "TCP"
}
]
}
}
}
],
"outputs": {
"containerIPv4Address": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))).ipAddress.ip]"
}
}
}
Följande resurs definieras i mallen:
- Microsoft.ContainerInstance/containerGroups: Skapa en Azure-containergrupp. Den här mallen definierar en grupp som består av en enda containerinstans.
Fler Azure Container Instances mallexempel finns i snabbstartsmallgalleriet.
Distribuera mallen
Välj följande bild för att logga in på Azure och öppna en mall. Mallen skapar ett register och en replik på en annan plats.
Välj eller ange följande värden.
- Prenumeration: välj en Azure-prenumeration.
- Resursgrupp: välj Skapa ny, ange ett unikt namn för resursgruppen och välj sedan OK.
- Plats: Välj en plats för resursgruppen. Exempel: USA, centrala.
- Namn: godkänn det genererade namnet för instansen eller ange ett namn.
- Avbildning: godkänn standardavbildningens namn. Det här Linux-exempelavbildningen paketerar en liten webbapp skriven Node.js som fungerar som en statisk HTML-sida.
Acceptera standardvärdena för de återstående egenskaperna.
Granska villkoren. Om du godkänner väljer du Jag godkänner villkoren som anges ovan.

När instansen har skapats får du ett meddelande:

Azure-portalen används för att distribuera mallen. Förutom de här Azure Portal kan du använda Azure PowerShell, Azure CLI och REST API. Mer information om andra distributionsmetoder finns i Distribuera mallar.
Granska distribuerade resurser
Använd Azure Portal eller ett verktyg som Azure CLI för att granska egenskaperna för containerinstansen.
I portalen söker du efter Container Instances och väljer den containerinstans som du skapade.
På sidan Översikt noterar du Status för instansen och dess IP-adress.

När statusen är Körs går du till IP-adressen i webbläsaren.

Visa containerloggar
Att visa loggar för en containerinstans är användbart när du felsöker problem med din container eller det program som den kör.
Om du vill visa containerns loggar går du till Inställningar och väljer > Containerloggar. Du bör se HTTP GET-begäran som genereras när du har granskat programmet i webbläsaren.

Rensa resurser
När du är klar med containern går du till sidan Översikt för containerinstansen och väljer Ta bort. Bekräfta borttagningen när du uppmanas att göra det.
Nästa steg
I den här snabbstarten skapade du en Azure-containerinstans från en offentlig Microsoft-avbildning. 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.
En stegvis självstudiekurs som vägleder dig genom processen med att skapa en mall finns i: