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

Sunucusuz Docker kapsayıcılarınızı kolay ve hızlı bir şekilde Azure'da çalıştırmak için Azure Container Instances hizmetini kullanın. Azure Kubernetes Service gibi bir eksiksiz kapsayıcı düzenleme platformu gerekmiyorsa, bir uygulamayı isteğe bağlı olarak bir kapsayıcı örneğine dağıtın.

Bu hızlı başlangıçta, yalıtılmış bir Windows kapsayıcısı dağıtmak ve uygulamasını tam etki alanı adı (FQDN) ve bağlantı noktası ile kullanılabilir hale getirmek için Azure PowerShell'i kullanacaksınız. Tek bir dağıtım komutunu yürüttkten birkaç saniye sonra kapsayıcıda çalışan uygulamaya göz atabilirsiniz:

! [Azure Container Instances'a dağıtılan uygulama tarayıcıda görüntülendi] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

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

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici için Azure PowerShell modülü gerekir. Sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure bağlantısı oluşturmak için Connect-AzAccount komutunu da çalıştırmanız gerekir.

Kaynak grubu oluşturma

Tüm Azure kaynakları gibi Azure kapsayıcı örneklerinin de bir kaynak grubuna dağıtılması gerekir. Kaynak grupları, ilgili Azure kaynaklarını düzenlemenizi ve yönetmenizi sağlar.

İlk olarak, aşağıdaki New-AzResourceGroup komutuyla eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturun:

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Kapsayıcı örneğiniz için bağlantı noktası oluşturma

Açılacak bir veya daha fazla bağlantı noktası, DNS ad etiketi ya da ikisini birden belirterek kapsayıcılarınızı internete açabilirsiniz. Bu hızlı başlangıçta, genel kullanıma açık olması için DNS ad etiketine sahip bir kapsayıcı dağıtacaksınız. Bu kılavuzda her ikisini de yapacağız, ancak önce kapsayıcı örneğinizin kullanması için PowerShell'de bir bağlantı noktası nesnesi oluşturmanız gerekir.

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

Konteyner grubu oluşturma

Artık bir kaynak grubunuz ve bağlantı noktanız olduğuna göre, Azure'da İnternet'e açık bir kapsayıcı çalıştırabilirsiniz. Azure PowerShell ile kapsayıcı örneği oluşturmak için öncelikle kapsayıcı için bir ad, görüntü ve bağlantı noktası sağlayarak bir oluşturmanız ContainerInstanceObject gerekir. Bu hızlı başlangıçta genel mcr.microsoft.com/azuredocs/aci-helloworld görüntüyü kullanacaksınız.

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

Ardından New-AzContainerGroup cmdlet'ini kullanın. Kapsayıcı grubu için bir ad, kaynak grubunuzun adı, kapsayıcı grubu için bir konum, yeni oluşturduğunuz kapsayıcı örneği, işletim sistemi türü ve benzersiz bir IP adresi DNS adı etiketi sağlamanız gerekir.

Kapsayıcı örneğini başlatmak için aşağıdakine benzer bir komut yürütür. Örneği oluşturduğunuz Azure bölgesinde benzersiz bir -IPAddressDnsNameLabel değer ayarlayın. "DNS ad etiketi kullanılamıyor" hata iletisiyle karşılaşırsanız farklı bir DNS ad etiketi deneyin.

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

Birkaç saniye içinde Azure’dan bir yanıt almanız gerekir. Kapsayıcının ProvisioningState değeri başlangıçta Oluşturuluyor şeklindedir ancak birkaç dakika içinde Başarılı olarak değişmesi gerekir. Get-AzContainerGroup cmdlet'iyle dağıtım durumunu denetleyin:

Get-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Ayrıca $containerGroup nesnesini yazdırabilir ve kapsayıcının sağlama durumu, tam etki alanı adı (FQDN) ve IP adresi için tabloyu filtreleyebilirsiniz.

$containerGroup | Format-Table InstanceViewState, IPAddressFqdn, IPAddressIP

Kapsayıcının sağlama durumu, FQDN ve IP adresi cmdlet'in çıkışında görünür:

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

Kapsayıcınınki ProvisioningState Başarılı ise tarayıcınızda kapsayıcının FQDN'sine gidin. Aşağıdakine benzer bir web sayfası görüyorsanız kendinizi tebrik edebilirsiniz! Docker kapsayıcısında çalışan bir uygulamayı başarıyla Azure'a dağıttınız.

! [Tarayıcıda Azure Container Instances'a dağıtılan bir uygulamayı görüntüleme] [./media/container-instances-quickstart/view-an-application-running-in-an-azure-container-instance.png]

Kaynakları temizleme

Kapsayıcıyla işiniz bittiğinde Remove-AzContainerGroup cmdlet'iyle kaldırın:

Remove-AzContainerGroup -ResourceGroupName myResourceGroup -Name myContainerGroup

Sonraki adımlar

Bu hızlı başlangıçta, genel bir Docker Hub deposundaki bir görüntüden bir Azure kapsayıcı örneği oluşturdunuz. 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.