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 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 aci
bir 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.
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.