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

Azure'da sunucusuz Docker kapsayıcılarını basit ve hızlı bir şekilde çalıştırmak için Azure Container Instances kullanın. Bulutta yerel uygulamalar geliştirirken ve yerel geliştirmeden bulut dağıtımına sorunsuz bir şekilde geçmek istediğinizde isteğe bağlı bir kapsayıcı örneğine dağıtın.

Bu hızlı başlangıçta, docker kapsayıcısını dağıtmak ve uygulamasını Azure Container Instances'da kullanılabilir hale getirmek için yerel Docker CLI komutlarını kullanacaksınız. Bu özellik , Docker ile Azure arasındaki tümleştirmeyle etkinleştirilir. Bir docker run komutu yürüttkten birkaç saniye sonra kapsayıcıda çalışan uygulamaya göz atabilirsiniz:

Azure Container Instances kullanılarak dağıtılmış uygulama tarayıcıda görüntüleniyor

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

Bu hızlı başlangıç için Windows veya macOS için kullanılabilen Docker Desktop sürüm 2.3.0.5 veya üzeri gerekir. Veya Linux için Docker ACI Tümleştirme CLI'sını yükleyin.

Önemli

Azure Container Instances tüm özellikleri desteklenmez. aci-integration-beta GitHub deposunda bir sorun oluşturarak Docker-Azure tümleştirmesi hakkında geri bildirim sağlayın.

Azure bağlamı oluşturma

Docker komutlarını kullanarak kapsayıcıları Azure Container Instances çalıştırmak için önce Azure'da oturum açın:

docker login azure

İstendiğinde Azure kimlik bilgilerinizi girin veya seçin.

komutunu çalıştırarak docker context create acibir ACI bağlamı oluşturun. Bu bağlam Docker'ı bir Azure aboneliği ve kaynak grubuyla ilişkilendirir, böylece kapsayıcı örnekleri oluşturup yönetebilirsiniz. Örneğin, myacicontext adlı bir bağlam oluşturmak için:

docker context create aci myacicontext

İstendiğinde Azure abonelik kimliğinizi seçin, ardından mevcut bir kaynak grubunu seçin veya yeni bir kaynak grubu oluşturun. Yeni bir kaynak grubu seçerseniz, sistem tarafından oluşturulan bir adla oluşturulur. 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.

Docker bağlamlarınıza ACI bağlamını eklediğinizi onaylamak için komutunu çalıştırın docker context ls :

docker context ls

Kapsayıcı oluşturma

Docker bağlamı oluşturduktan sonra Azure'da bir kapsayıcı oluşturabilirsiniz. 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 bir HTML sayfası sunan Node.js yazılmış küçük bir web uygulamasını paketler.

İlk olarak ACI bağlamı olarak değiştirin. Sonraki tüm Docker komutları bu bağlamda çalışır.

docker context use myacicontext

İnternet'te kullanıma sunulan 80 numaralı bağlantı noktasıyla Azure kapsayıcı örneğini oluşturmak için aşağıdaki docker run komutu çalıştırın:

docker run -p 80:80 mcr.microsoft.com/azuredocs/aci-helloworld

Başarılı bir dağıtım için örnek çıktı:

[+] Running 2/2
 ⠿ hungry-kirch            Created                                                                               5.1s
 ⠿ single--container--aci  Done                                                                                 11.3s
hungry-kirch

Çalışan kapsayıcı hakkında genel IP adresi de dahil olmak üzere ayrıntıları almak için komutunu çalıştırın docker ps :

docker ps

Örnek çıktıda genel IP adresi gösterilmektedir, bu örnekte 52.230.225.232:

CONTAINER ID        IMAGE                                        COMMAND             STATUS              PORTS
hungry-kirch        mcr.microsoft.com/azuredocs/aci-helloworld                       Running             52.230.225.232:80->80/tcp

Şimdi tarayıcınızda IP adresine 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.

Azure Container Instances kullanılarak dağıtılmış uygulama tarayıcıda görüntüleniyor

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.

Örneğin, ACI bağlamında hungry-kirch kapsayıcısının günlüklerini görmek için komutunu çalıştırındocker logs:

docker logs hungry-kirch

Çı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 - - [07/Jul/2020: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 - - [07/Jul/2020: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 - - [07/Jul/2020: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"

Kaynakları temizleme

Kapsayıcıyla işiniz bittiğinde, kapsayıcıyı kaldırmak için komutunu çalıştırın docker rm . Bu komut Azure kapsayıcı örneğini durdurur ve siler.

docker rm hungry-kirch

Sonraki adımlar

Bu hızlı başlangıçta, Docker ile Azure arasındaki tümleştirmeyi kullanarak genel görüntüden bir Azure kapsayıcı örneği oluşturdunuz. Docker belgelerinde tümleştirme senaryoları hakkında daha fazla bilgi edinin.

Kapsayıcıları, görüntüleri ve bağlamları geliştirmek, çalıştırmak ve yönetmek için tümleşik bir deneyim için Visual Studio Code için Docker uzantısını da kullanabilirsiniz.

Kapsayıcı örnekleri oluşturmak ve yönetmek için Azure araçlarını kullanmak için Azure CLI, Azure PowerShell, Azure portal ve Azure Resource Manager şablonunu kullanarak diğer hızlı başlangıçlara bakın.

Docker Compose kullanarak çok kapsayıcılı bir uygulamayı yerel olarak tanımlayıp çalıştırmak ve ardından Azure Container Instances geçmek istiyorsanız öğreticiye geçin.