Aracılığıyla paylaş


Hızlı Başlangıç: Docker 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. 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 yerel Docker CLI komutlarını kullanarak bir Docker kapsayıcısı dağıtacak ve uygulamasını Azure Container Instances'ta kullanıma sunacaksı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. Linux için Docker ACI Tümleştirme CLI'sını da yükleyebilirsiniz.

Önemli

Azure Container Instances'ın 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

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

docker login azure --tenant-id "[tenant ID]"

Kiracı kimliğinizi bulmak için Microsoft Entra Id özelliklerine göz atın.

İ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 html sayfasına hizmet veren Node.js yazılmış küçük bir web uygulamasını paketler.

İlk olarak ACI bağlamını 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österilir, 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 üzere 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'a geçmek istiyorsanız öğreticiye geçin.