Hızlı Başlangıç: ARM şablonu kullanarak Azure'da kapsayıcı örneği dağıtma

Azure'Azure Container Instances sunucusuz Docker kapsayıcılarını basitlik ve hızlı bir şekilde çalıştırmak için Azure Container Instances'ı kullanın. Uygulama gibi tam bir kapsayıcı düzenleme platformuna ihtiyacınız olmayan isteğe bağlı bir kapsayıcı örneğine Azure Kubernetes Service. Bu hızlı başlangıçta, yalıtılmış bir Docker kapsayıcısı dağıtmak ve web uygulamasını genel IP adresiyle kullanılabilir hale Azure Resource Manager şablonu (ARM şablonu) kullanacağız.

ARM şablonu projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Bildirim temelli sözdiziminde, dağıtım oluşturmak için programlama komutlarının dizisini yazmadan amaçladığınız dağıtımı ifade edersiniz.

Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalda açılır.

Azure’a dağıtma

Ön koşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Şablonu gözden geçirme

Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.

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

Şablonda aşağıdaki kaynak tanımlanmıştır:

Şablon Azure Container Instances daha fazla bilgi için hızlı başlangıç şablon galerisinde bulabilirsiniz.

Şablonu dağıtma

  1. Aşağıdaki görüntüyü seçerek Azure'da oturum açıp bir şablon açın. Şablon, başka bir konumda bir kayıt defteri ve çoğaltma oluşturur.

    Azure’a dağıtma

  2. Aşağıdaki değerleri seçin veya girin.

    • Abonelik: Bir Azure aboneliği seçin.
    • Kaynak grubu: Yeni oluştur'a tıklayın, kaynak grubu için benzersiz bir ad girin ve tamam'ı seçin.
    • Konum: Kaynak grubu için bir konum seçin. Örnek: Orta ABD.
    • Ad: Örnek için oluşturulan adı kabul eder veya bir ad girin.
    • Görüntü: Varsayılan görüntü adını kabul eder. Bu örnek Linux görüntüsü, statik bir HTML sayfasına hizmet eden Node.js yazılmış küçük bir web uygulamasını paketler.

    Kalan özellikler için varsayılan değerleri kabul et.

    Hüküm ve koşulları gözden geçirme. Kabul ediyorsanız, Yukarıda belirtilen hüküm ve koşulları kabul ediyorum'ı seçin.

    Şablon özellikleri

  3. Örnek başarıyla oluşturulduktan sonra bir bildirim alırsınız:

    Portal bildirimi

Şablonu dağıtmak için Azure portalı kullanılır. Uygulamanın yanı Azure portal, Azure CLI ve Azure PowerShell azure CLI'sini REST API. Diğer dağıtım yöntemlerini öğrenmek için bkz. Şablonları dağıtma.

Dağıtılan kaynakları gözden geçirme

Kapsayıcı Azure portal özelliklerini gözden geçirmek için Azure CLI gibi bir araç kullanın.

  1. Portalda veri Container Instances ve oluşturduğunuz kapsayıcı örneğini seçin.

  2. Genel Bakış sayfasında örneğin Durumunu ve IP adresini not edin.

    Örneğe genel bakış

  3. Durumu Çalışıyor olduktan sonra tarayıcınızdaKI IP adresine gidin.

    Azure Container Instances kullanılarak dağıtılmış uygulama tarayıcıda görüntüleniyor

Kapsayıcı günlüklerini görüntüleme

Kapsayıcı örneğinin günlüklerini görüntülemek, kapsayıcınızın veya çalıştırdığı uygulamanın sorunlarını gidermede yardımcı olur.

Kapsayıcının günlüklerini görüntülemek için, Kapsayıcılar Ayarlar'ı > seçin. Uygulamayı tarayıcınızda görüntülediğinizde HTTP GET isteğinin oluşturulduğunu görmeniz gerekir.

Azure portalında kapsayıcı günlükleri

Kaynakları temizleme

Kapsayıcıyla işi tamamlanın, kapsayıcı örneğinin Genel Bakış sayfasında Sil'i seçin. Sorulduğunda silme işlemini onaylayın.

Sonraki adımlar

Bu hızlı başlangıçta, genel bir Microsoft görüntüsünden bir Azure kapsayıcı örneği oluşturdunız. Kapsayıcı görüntüsünü oluşturup özel bir Azure kapsayıcı kayıt defterinden dağıtmak istiyorsanız Azure Container Instances öğreticisine geçin.

Şablon oluşturma sürecinde size yol gösteren adım adım bir öğretici için bkz.