Rychlý start: Nasazení instance kontejneru v Azure pomocí šablony ARM

Využijte Azure Container Instances ke spouštění bez serverů kontejnerů Dockeru v Azure s jednoduchostí a rychlostí. Nasazení aplikace do instance kontejneru na vyžádání, když nepotřebujete úplnou platformu pro orchestraci kontejnerů, jako je Azure Kubernetes Service. V tomto rychlém startu použijete šablonu Azure Resource Manager (šablona ARM) k nasazení izolovaného kontejneru Dockeru a k tomu, aby byla jeho webová aplikace dostupná s veřejnou IP adresou.

Šablona Resource ARM je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. V deklarativní syntaxi popíšete zamýšlené nasazení, aniž byste museli psát sekvenci programovacích příkazů pro vytvoření tohoto nasazení.

Pokud vaše prostředí splňuje požadavky a jste obeznámeni s používáním šablon ARM, vyberte tlačítko Nasazení do Azure. Šablona se otevře v prostředí Azure Portal.

Nasazení do Azure

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Kontrola šablony

Šablona použitá v tomto rychlém startu je jednou z šablon pro rychlý start Azure.

{
  "$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]"
    }
  }
}

V šabloně je definovaný následující prostředek:

Další Azure Container Instances šablon najdete v galerii šablon pro rychlý start.

Nasazení šablony

  1. Vyberte následující obrázek a přihlaste se k Azure a otevřete šablonu. Šablona vytvoří registr a repliku v jiném umístění.

    Nasazení do Azure

  2. Vyberte nebo zadejte následující hodnoty.

    • Předplatné: Vyberte předplatné Azure.
    • Skupina prostředků: Vyberte Vytvořit novou, zadejte jedinečný název skupiny prostředků a pak vyberte OK.
    • Umístění:: Vyberte umístění pro skupinu prostředků. Příklad: USA – střed.
    • Název: Přijměte vygenerovaný název instance nebo zadejte název.
    • Image: Přijměte výchozí název image. Tato ukázková image Linuxu za balíček malé webové aplikace napsané Node.js která slouží jako statická stránka HTML.

    U zbývajících vlastností přijměte výchozí hodnoty.

    Prohlédněte si podmínky a podmínky. Pokud souhlasíte, vyberte Souhlasím s podmínkami a podmínkami uvedenými nahoře.

    Vlastnosti šablony

  3. Po úspěšném vytvoření instance se zobrazí oznámení:

    Oznámení portálu

K nasazení šablony se použije Azure Portal. Kromě tohoto Azure Portal můžete použít Azure PowerShell, Azure CLI a REST API. Další metody nasazení najdete v tématu Nasazení šablon.

Kontrola nasazených prostředků

Pomocí Azure Portal nebo nástroje, jako je Azure CLI, zkontrolujte vlastnosti instance kontejneru.

  1. Na portálu vyhledejte Container Instances a vyberte instanci kontejneru, kterou jste vytvořili.

  2. Na stránce Přehled si poznamenejte Stav instance a její IP adresu.

    Přehled instancí

  3. Jakmile je stav Spuštěno, přejděte v prohlížeči na IP adresu.

    Aplikace nasazená pomocí služby Azure Container Instances zobrazená v prohlížeči

Zobrazení protokolů kontejneru

Prohlížení protokolů pro instanci kontejneru je užitečné při řešení problémů s kontejnerem nebo aplikací, která se v něm spouští.

Pokud chcete zobrazit protokoly kontejneru, v části Nastavení vyberte Protokoly > kontejnerů. Měl by se zobrazit požadavek HTTP GET, který se vygeneroval, když jste aplikaci zobrazili v prohlížeči.

Protokoly kontejneru na webu Azure Portal

Vyčištění prostředků

Až s kontejnerem skončíte, na stránce Přehled pro instanci kontejneru vyberte Odstranit. Po zobrazení výzvy potvrďte odstranění.

Další kroky

V tomto rychlém startu jste vytvořili instanci kontejneru Azure z veřejné image Microsoftu. Pokud si chcete sestavit image kontejneru a nasadit ji z privátního registru kontejnerů Azure, pokračujte ke kurzu služby Azure Container Instances.

Podrobný kurz, který vás provede procesem vytvoření šablony, najdete v těchto tématu: