Hızlı Başlangıç: Azure CLı kullanarak Azure 'da bir kapsayıcı örneği dağıtmaQuickstart: Deploy a container instance in Azure using the Azure CLI

Azure 'da sunucusuz Docker kapsayıcılarını basitlik ve hızla çalıştırmak için Azure Container Instances kullanın.Use Azure Container Instances to run serverless Docker containers in Azure with simplicity and speed. Azure Kubernetes hizmeti gibi tam kapsayıcı düzenleme platformu gerekmiyorsa, bir uygulamayı isteğe bağlı olarak bir kapsayıcı örneğine dağıtın.Deploy an application to a container instance on-demand when you don't need a full container orchestration platform like Azure Kubernetes Service.

Bu hızlı başlangıçta, yalıtılmış bir Docker kapsayıcısını dağıtmak ve uygulamayı tam etki alanı adı (FQDN) ile kullanılabilir hale getirmek için Azure CLı 'yi kullanırsınız.In this quickstart, you use the Azure CLI to deploy an isolated Docker container and make its application available with a fully qualified domain name (FQDN). Tek bir dağıtım komutunu yürütmeden birkaç saniye sonra, kapsayıcıda çalışan uygulamaya gidebilirsiniz:A few seconds after you execute a single deployment command, you can browse to the application running in the container:

Azure Container Instances hizmetine dağıtılmış uygulamanın tarayıcıdaki görüntüsü

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, Azure Cloud Shell, tarayıcınız üzerinden kullanabileceğiniz bir etkileşimli Kabuk ortamını barındırır.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell'i ya da kullanmanıza imkan tanır bash veya PowerShell Azure hizmetleriyle çalışmak için.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Cloud Shell önceden yüklenmiş komutları, yerel ortamınızda herhangi bir yükleme gerekmeden bu makaledeki kodu çalıştırmak için kullanabilirsiniz.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

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

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Seçme deneyin kod Cloud Shell için otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Örneği Azure Cloud Shell için deneyin
Git https://shell.azure.com veya Cloud Shell'i Başlat Cloud Shell, tarayıcınızda açmak için düğmeyi.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. <a href="https://shell.azure.com" title="Azure Cloud Shell'i Başlat
Seçin Cloud Shell düğmesine sağ üst menü çubuğundaki Azure portalında.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makalede Azure Cloud shell'de kod çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell'i başlatın.Launch Cloud Shell.
  2. Seçin kopyalama kodu kopyalamak için bir kod bloğu üzerinde düğmesi.Select the Copy button on a code block to copy the code.
  3. Cloud Shell oturumla kodu yapıştırın Ctrl+Shift+V Windows ve Linux'ta veya Cmd + Shift+V macOS üzerinde.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Tuşuna Enter kodu çalıştırmak için.Press Enter to run the code.

Bu hızlı başlangıcı tamamlamak için Azure Cloud Shell veya yerel bir Azure CLI yüklemesi kullanabilirsiniz.You can use the Azure Cloud Shell or a local installation of the Azure CLI to complete this quickstart. Yerel olarak kullanmak isterseniz, sürüm 2.0.55 veya üzeri önerilir.If you'd like to use it locally, version 2.0.55 or later is recommended. Sürümü bulmak için az --version komutunu çalıştırın.Run az --version to find the version. Yükleme veya yükseltme yapmanız gerekiyorsa bkz. Azure CLI'yı yükleme.If you need to install or upgrade, see Install Azure CLI.

Kaynak grubu oluşturmaCreate a resource group

Tüm Azure kaynakları gibi Azure kapsayıcı örneklerinin de bir kaynak grubuna dağıtılması gerekir.Azure container instances, like all Azure resources, must be deployed into a resource group. Kaynak grupları, ilgili Azure kaynaklarını düzenlemenizi ve yönetmenizi sağlar.Resource groups allow you to organize and manage related Azure resources.

İlk olarak, eastus konumunda myresourcegroup adlı bir kaynak grubu aşağıdaki az Group Create komutu ile oluşturun:First, create a resource group named myResourceGroup in the eastus location with the following az group create command:

az group create --name myResourceGroup --location eastus

Bir kapsayıcı oluşturmaCreate a container

Artık bir kaynak grubuna sahip olduğunuza göre Azure'da kapsayıcı çalıştırabilirsiniz.Now that you have a resource group, you can run a container in Azure. Azure CLı ile bir kapsayıcı örneği oluşturmak için az Container Create komutuna bir kaynak grubu adı, kapsayıcı örneği adı ve Docker kapsayıcı görüntüsü sağlayın.To create a container instance with the Azure CLI, provide a resource group name, container instance name, and Docker container image to the az container create command. Bu hızlı başlangıçta, ortak mcr.microsoft.com/azuredocs/aci-helloworld görüntüyü kullanırsınız.In this quickstart, you use the public mcr.microsoft.com/azuredocs/aci-helloworld image. Bu görüntü, bir statik HTML sayfasına hizmet veren Node. js ' de yazılmış küçük bir Web uygulamasını paketler.This image packages a small web app written in Node.js that serves a static HTML page.

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.You can expose your containers to the internet by specifying one or more ports to open, a DNS name label, or both. Bu hızlı başlangıçta, Web uygulamasının herkese açık bir şekilde erişilebilir olması için DNS adı etiketiyle bir kapsayıcı dağıtırsınız.In this quickstart, you deploy a container with a DNS name label so that the web app is publicly reachable.

Bir kapsayıcı örneği başlatmak için aşağıdakine benzer bir komut yürütün.Execute a command similar to the following to start a container instance. Örneği oluşturduğunuz --dns-name-label Azure bölgesi içinde benzersiz bir değer ayarlayın.Set a --dns-name-label value that's unique within the Azure region where you create the instance. "DNS ad etiketi kullanılamıyor" hata iletisiyle karşılaşırsanız farklı bir DNS ad etiketi deneyin.If you receive a "DNS name label not available" error message, try a different DNS name label.

az container create --resource-group myResourceGroup --name mycontainer --image mcr.microsoft.com/azuredocs/aci-helloworld --dns-name-label aci-demo --ports 80

Birkaç saniye içinde Azure CLI'den dağıtımın tamamlandığını belirten bir yanıt almanız gerekir.Within a few seconds, you should get a response from the Azure CLI indicating that the deployment has completed. Az Container Show komutuyla durumunu kontrol edin:Check its status with the az container show command:

az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table

Komutu çalıştırdığınızda, kapsayıcının tam etki alanı adı (FQDN) ve sağlama durumu görüntülenir.When you run the command, the container's fully qualified domain name (FQDN) and its provisioning state are displayed.

$ az container show --resource-group myResourceGroup --name mycontainer --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" --out table
FQDN                               ProvisioningState
---------------------------------  -------------------
aci-demo.eastus.azurecontainer.io  Succeeded

Kapsayıcının ProvisioningState bilgisi Başarılı olduğunda tarayıcınızdan FQDN adresine gidin.If the container's ProvisioningState is Succeeded, navigate to its FQDN in your browser. Aşağıdakine benzer bir web sayfası görüyorsanız kendinizi tebrik edebilirsiniz!If you see a web page similar to the following, congratulations! Docker kapsayıcısında çalışan bir uygulamayı başarıyla Azure'a dağıttınız.You've successfully deployed an application running in a Docker container to Azure.

Bir Azure kapsayıcı örneğinde çalışan uygulamayı gösteren tarayıcı ekran görüntüsü

İlk seferde uygulama görüntülenmezse DNS kayıtlarının yayılması için birkaç saniye bekleyip tarayıcınızı yenilemeyi deneyebilirsiniz.If at first the application isn't displayed, you might need to wait a few seconds while DNS propagates, then try refreshing your browser.

Kapsayıcı günlüklerini çekmePull the container logs

Kapsayıcıdaki veya üzerinde çalışan uygulamalardaki sorunları gidermek (veya yalnızca çıkışını görmek) istediğinizde kapsayıcı örneğinin günlüklerinden başlayın.When you need to troubleshoot a container or the application it runs (or just see its output), start by viewing the container instance's logs.

Az Container logs komutuyla kapsayıcı örneği günlüklerini çekin:Pull the container instance logs with the az container logs command:

az container logs --resource-group myResourceGroup --name mycontainer

Çıkış, kapsayıcının günlüklerini görüntüler ve uygulamayı tarayıcınızda görüntülediğinizde oluşturulan HTTP GET isteklerini göstermelidir.The output displays the logs for the container, and should show the HTTP GET requests generated when you viewed the application in your browser.

$ az container logs --resource-group myResourceGroup --name mycontainer
listening on port 80
::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Çıkış akışları eklemeAttach output streams

Günlükleri görüntülemeye ek olarak, yerel standart çıkış ve standart hata akışlarınızı kapsayıcınınkine ekleyebilirsiniz.In addition to viewing the logs, you can attach your local standard out and standard error streams to that of the container.

İlk olarak, yerel konsolunuzu kapsayıcının Çıkış akışlarına eklemek için az Container Attach komutunu yürütün:First, execute the az container attach command to attach your local console to the container's output streams:

az container attach --resource-group myResourceGroup --name mycontainer

Bağlandıktan sonra, ek çıkışlar oluşturmak için tarayıcınızı birkaç defa yenileyin.Once attached, refresh your browser a few times to generate some additional output. İşlemi tamamladığınızda Control+C ile konsolunuzu ayırın.When you're done, detach your console with Control+C. Aşağıdakine benzer bir çıktı görmeniz gerekir:You should see output similar to the following:

$ az container attach --resource-group myResourceGroup --name mycontainer
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 17:27:20+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:24+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-helloworld"
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 17:27:27+00:00) Started container

Start streaming logs:
listening on port 80

::ffff:10.240.255.55 - - [21/Mar/2019:17:43:53 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:44:36 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.55 - - [21/Mar/2019:17:47:01 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
::ffff:10.240.255.56 - - [21/Mar/2019:17:47:12 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

Kaynakları temizlemeClean up resources

Kapsayıcı ile işiniz bittiğinde, az Container Delete komutunu kullanarak bunu kaldırın:When you're done with the container, remove it using the az container delete command:

az container delete --resource-group myResourceGroup --name mycontainer

Kapsayıcının silindiğini doğrulamak için, az container list komutunu yürütün:To verify that the container has been deleted, execute the az container list command:

az container list --resource-group myResourceGroup --output table

mycontainer kapsayıcısı komut çıkışında görünmemelidir.The mycontainer container should not appear in the command's output. Kaynak grubunda başka kapsayıcınız yoksa, çıkış görüntülenmez.If you have no other containers in the resource group, no output is displayed.

Myresourcegroup kaynak grubu ve içerdiği tüm kaynaklar ile işiniz bittiğinde, az Group Delete komutuyla silin:If you're done with the myResourceGroup resource group and all the resources it contains, delete it with the az group delete command:

az group delete --name myResourceGroup

Sonraki adımlarNext steps

Bu hızlı başlangıçta, genel Microsoft görüntüsünü kullanarak bir Azure Kapsayıcı örneği oluşturdunuz.In this quickstart, you created an Azure container instance by using a public Microsoft image. 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.If you'd like to build a container image and deploy it from a private Azure container registry, continue to the Azure Container Instances tutorial.

Azure 'da bir Orchestration sisteminde kapsayıcıları çalıştırmaya yönelik seçenekleri denemek için bkz. Azure Kubernetes Service (AKS) hızlı başlangıç.To try out options for running containers in an orchestration system on Azure, see the Azure Kubernetes Service (AKS) quickstarts.