Hızlı Başlangıç: Azure CLI 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 Docker kapsayıcısı dağıtmak ve uygulamasını tam etki alanı adı (FQDN) ile kullanılabilir hale getirmek için Azure CLI'yi 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 aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu hızlı başlangıç için Azure CLI'nın 2.0.55 veya sonraki bir sürümü gerekir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Uyarı
En iyi yöntem: Kullanıcının komut satırı arabirimi (CLI) aracılığıyla geçirilen kimlik bilgileri arka uçta düz metin olarak depolanır. Kimlik bilgilerinin düz metin olarak depolanması bir güvenlik riskidir; Microsoft, müşterilerin arka uçta depolandığında şifrelendiğinden/dönüştürüldiklerinden emin olmak için cli ortam değişkenlerinde kullanıcı kimlik bilgilerini depolamalarını önerir.
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 az group create komutunu kullanarak eastus bölgesinde myResourceGroup adlı bir kaynak grubu oluşturun:
az group create --name myResourceGroup --location eastus
Kapsayıcı oluşturma
Artık bir kaynak grubuna sahip olduğunuza göre Azure'da kapsayıcı çalıştırabilirsiniz. Azure CLI ile kapsayıcı örneği oluşturmak için az container create komutunda bir kaynak grubu adı, kapsayıcı örneği adı ve Docker kapsayıcı görüntüsü belirtin. Bu hızlı başlangıçta genel mcr.microsoft.com/azuredocs/aci-helloworld
görüntüyü kullanacaksınız. Bu görüntü, statik html sayfasına hizmet veren Node.js yazılmış küçük bir web uygulamasını paketler.
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, web uygulamasının herkese açık olması için DNS ad etiketine sahip bir kapsayıcı dağıtacaksınız.
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 --dns-name-label
değer ayarlayın. "DNS ad etiketi kullanılamıyor" hata iletisiyle karşılaşırsanız farklı bir DNS ad etiketi deneyin.
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'dan dağıtımın tamamlandığını belirten bir yanıt almanız gerekir. Durumunu az container show komutuyla denetleyebilirsiniz:
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.
FQDN ProvisioningState
--------------------------------- -------------------
aci-demo.eastus.azurecontainer.io Succeeded
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ı Azure'a başarıyla dağıttınız.
İ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.
Kapsayıcı günlüklerini çekme
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.
az container logs komutu ile kapsayıcı örneğinin günlüklerini çekin:
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.
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ı ekleme
Günlükleri görüntülemeye ek olarak, yerel standart çıkış ve standart hata akışlarınızı kapsayıcınınkine ekleyebilirsiniz.
İlk olarak az container attach komutunu yürüterek yerel konsolunuzu kapsayıcının çıkış akışlarına ekleyin:
az container attach --resource-group myResourceGroup --name mycontainer
Eklendikten sonra, daha fazla çıkış oluşturmak için tarayıcınızı birkaç kez yenileyin. İşlemi tamamladığınızda Control+C
ile konsolunuzu ayırın. Aşağıdaki örneğe benzer bir çıktı görmeniz gerekir:
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ı temizleme
Kapsayıcıyla işiniz bittiğinde az container delete komutunu kullanarak kapsayıcıyı kaldırın:
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ür:
az container list --resource-group myResourceGroup --output table
mycontainer kapsayıcısı komutun çıkışında görünmemelidir. Kaynak grubunda başka kapsayıcınız yoksa, çıkış görüntülenmez.
myResourceGroup kaynak grubuyla ve içindeki kaynaklarla işiniz bittiyse az group delete komutuyla silin:
az group delete --name myResourceGroup
Sonraki adımlar
Bu hızlı başlangıçta, genel bir Microsoft görüntüsü kullanarak 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.
Azure'da bir düzenleme sisteminde kapsayıcı çalıştırma seçeneklerini denemek için bkz . Azure Kubernetes Service (AKS) hızlı başlangıçları.