Sdílet prostřednictvím


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

Spouštějte v Azure rychle a snadno bezserverové kontejnery Dockeru s využitím služby Azure Container Instances. Pokud nepotřebujete úplnou platformu orchestrace kontejnerů, jako je služba Azure Kubernetes Service, můžete aplikaci nasadit do instance kontejneru na vyžádání. V tomto rychlém startu použijete šablonu Azure Resource Manageru (šablonu ARM) k nasazení izolovaného kontejneru Dockeru a zpřístupnění webové aplikace s veřejnou IP adresou.

Šablona Azure Resource Manageru je soubor JSON (JavaScript Object Notation), který definuje infrastrukturu a konfiguraci projektu. Tato šablona používá deklarativní syntaxi. Popíšete zamýšlené nasazení, aniž byste museli psát posloupnost programovacích příkazů pro vytvoření 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 na webu Azure Portal.

Tlačítko pro nasazení šablony Resource Manageru do Azure

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

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.26.54.24096",
      "templateHash": "15999594271314721416"
    }
  },
  "parameters": {
    "name": {
      "type": "string",
      "defaultValue": "acilinuxpublicipcontainergroup",
      "metadata": {
        "description": "Name for the container group"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "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."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2023-05-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": {
    "name": {
      "type": "string",
      "value": "[parameters('name')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name'))]"
    },
    "containerIPv4Address": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups', parameters('name')), '2023-05-01').ipAddress.ip]"
    },
    "location": {
      "type": "string",
      "value": "[parameters('location')]"
    }
  }
}

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

Další ukázky šablon Azure Container Instances 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í.

    Tlačítko pro nasazení šablony Resource Manageru do Azure

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

    • Předplatné: Vyberte předplatné Azure.
    • Skupina prostředků: Vyberte Vytvořit nový, 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.
    • Obrázek: Přijměte výchozí název image. Tato ukázková image Linuxu zabalí malou webovou aplikaci napsanou v Node.js, která obsluhuje statickou stránku HTML.

    Přijměte výchozí hodnoty pro zbývající vlastnosti.

    Přečtěte si podmínky a ujednání. Pokud souhlasíte, vyberte Souhlasím s podmínkami a ujednáními uvedenými výš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ě webu Azure Portal můžete použít Azure PowerShell, Azure CLI a rozhraní REST API. Další metody nasazení najdete v tématu Nasazení šablon.

Kontrola nasazených prostředků

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

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

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

    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, vyberte na stránce Přehled instance kontejneru možnost 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 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 tady: