Aracılığıyla paylaş


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

Üç bölümlük serinin son eğitimi budur. 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ı yapacaksı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üleyin

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 daemon'ını içermediğinden, bu öğreticiyi tamamlamak için yerel bilgisayarınıza hem Azure CLI hem de Docker Altyapısı'nı yüklemeniz gerekir. Bu öğretici için Azure Cloud Shell'i 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 eğitimleri tamamladığınızdan emin olun.

Kayıt defteri kimlik bilgilerini alma

İkinci eğitimde oluşturulan gibi özel bir Azure kapsayıcı kayıt defterinde barındırılan bir görüntüyü 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 ilkesi oluşturmak ve yapılandırmaktır. Gerekli izinlere sahip bir hizmet sorumlusu oluşturmak için örnek betiklere Azure Container Instances'tan Azure Container Registry ile kimlik doğrulaması bölümünden ulaşabilirsiniz. Hizmet sorumlusu kimliğini ve hizmet sorumlusu parolasını not alın. Konteyneri dağıtırken kayda 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 (kayıt defterinizin adını <acrName> ile değiştirin):

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> . <service-principal-ID> ve <service-principal-password> değerlerini, kayıt defterine erişmek için oluşturduğunuz hizmet sorumlusu kimliği ve şifre ile değiştirin. 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 defterini, çalışan kapsayıcıyı ve tüm ilgili kaynakları siler.

az group delete --name myResourceGroup

Sonraki adımlar

Bu eğitimde, Azure Container Instances’a container'ı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ı