Öğretici: Azure Container Instances'a kapsayıcı uygulaması dağıtma

Bu, üç kısımdan oluşan serinin son öğreticisidir. Serinin önceki kısımlarında bir kapsayıcı görüntüsü oluşturuldu ve Azure Container Registry’ye gönderildi. Bu makalede, Azure Container Instances’a kapsayıcı dağıtılarak seri tamamlanır.

Bu öğreticide şunları yaptınız:

  • Azure Container Registry’den Azure Container Instances’a kapsayıcıyı dağıtma
  • Tarayıcıda çalıştırılan uygulamayı görüntüleme
  • Kapsayıcının günlüklerini görüntüleme

Başlamadan önce

Bu öğreticiyi tamamlamak için aşağıdaki gereksinimleri karşılamanız gerekir:

Azure CLI: Yerel bilgisayarınızda Azure CLI 2.0.29 veya sonraki bir sürümü yüklenmiş olmalıdır. Sürümü bulmak için az --version komutunu çalıştırın. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI'yı yükleme.

Docker: Bu öğreticide kapsayıcılar, kapsayıcı görüntüleri ve temel docker komutları gibi temel Docker kavramları hakkında bilgi sahibi olduğunuz varsayılmıştır. Docker ve kapsayıcı temel bilgileri ile ilgili giriş yapmak için Docker’a genel bakış bölümüne bakın.

Docker: Bu öğreticiyi tamamlamak için Docker'ın yerel olarak yüklenmesi gerekir. Docker, macOS, Windows ve Linux üzerinde Docker ortamını yapılandıran paketler sağlar.

Önemli

Azure Cloud shell, Docker programını içermediğinden bu öğreticiyi tamamlamak için yerel bilgisayarınıza hem Azure CLI’yi hem de Docker Altyapısı’nı yüklemeniz gerekir. Bu öğretici için Azure Cloud Shell kullanamazsınız.

Azure CLI’yi kullanarak kapsayıcıyı dağıtma

Bu bölümde, birinci öğreticide derlenen ve ikinci öğreticide Azure Container Registry’ye gönderilen görüntüyü dağıtmak için Azure CLI’yi kullanırsınız. Devam etmeden önce bu öğreticileri tamamladığınızdan emin olun.

Kayıt defteri kimlik bilgilerini alma

İkinci öğreticide oluşturulan gibi özel bir Azure kapsayıcı kayıt defterinde barındırılan bir görüntü dağıttığınızda, kayıt defterine erişmek için kimlik bilgileri sağlamanız gerekir.

Birçok senaryo için en iyi yöntem, kayıt defterinizde çekme izinleri olan bir Microsoft Entra hizmet sorumlusu oluşturmak ve yapılandırmaktır. Gerekli izinlere sahip bir hizmet sorumlusu oluşturmak için örnek betikler için bkz . Azure Container Instances'tan Azure Container Registry ile kimlik doğrulaması. Hizmet sorumlusu kimliğini ve hizmet sorumlusu parolasını not alın. Kapsayıcıyı dağıtırken kayıt defterine erişmek için bu kimlik bilgilerini kullanırsınız.

Kapsayıcı kayıt defteri oturum açma sunucusunun tam adına da ihtiyacınız vardır (değerini kayıt defterinizin adıyla değiştirin <acrName> ):

az acr show --name <acrName> --query loginServer

Kapsayıcıyı dağıtma

Şimdi kapsayıcıyı dağıtmak için az container create komutunu kullanın. değerini önceki komuttan aldığınız değerle değiştirin <acrLoginServer> . ve <service-principal-password> değerini kayıt defterine erişmek için oluşturduğunuz hizmet sorumlusu kimliği ve parolayla değiştirin<service-principal-ID>. değerini istenen DNS adıyla değiştirin <aciDnsLabel> .

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

Birkaç saniye içinde Azure’dan bir ilk yanıt almanız gerekir. --dns-name-label değeri, kapsayıcı örneğini oluşturduğunuz Azure bölgesi içinde benzersiz olmalıdır. Komutu yürütürken bir DNS ad etiketi hata iletisi alırsanız önceki komutta yer alan değeri değiştirin.

Dağıtım ilerleme durumunu doğrulama

Dağıtımın durumunu görüntülemek için az container show komutunu kullanın:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Beklemede olan durum Çalışıyor olarak değişinceye kadar az container show komutunu yineleyin; bu bir dakikadan kısa sürecektir. Kapsayıcı Çalışıyor durumunda olduğunda sonraki adıma ilerleyin.

Uygulama ve kapsayıcı günlüklerini görüntüleme

Dağıtım başarılı olduktan sonra, az container show komutuyla kapsayıcının tam etki alanı adını görüntüleyin:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Örneğin:

"aci-demo.eastus.azurecontainer.io"

Çalışan uygulamayı görmek için, sık kullandığınız tarayıcıda görüntülenen DNS adına gidin:

Tarayıcıdaki Merhaba Dünya uygulaması

Kapsayıcının günlük çıktısını da görüntüleyebilirsiniz:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Örnek çıkış:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Kaynakları temizleme

Artık bu öğretici serisinde oluşturduğunuz kaynakların herhangi birine ihtiyacınız yoksa, kaynak grubunu ve içerdiği tüm kaynakları kaldırmak için az group delete komutunu yürütebilirsiniz. Bu komut, oluşturduğunuz kapsayıcı kayıt defterinin yanı sıra çalışan kapsayıcıyı ve tüm ilişkili kaynakları siler.

az group delete --name myResourceGroup

Sonraki adımlar

Bu öğreticide, Azure Container Instances’a kapsayıcınızı dağıtma işlemini tamamladınız. Aşağıdaki adımlar tamamlandı:

  • Azure CLI kullanılarak Azure Container Registry’den kapsayıcı dağıtıldı
  • Tarayıcıda uygulama görüntülendi
  • Kapsayıcı günlükleri görüntülendi

Temel bilgileri edindiğinize göre şimdi kapsayıcı gruplarının nasıl çalıştığı gibi, Azure Container Instances hakkında daha fazla bilgi edinmeye geçebilirsiniz:

Azure Container Instances’taki kapsayıcı grupları