Alıştırma - Docker görüntüsünü Azure Container Instances'a dağıtma
Azure Container Instances, Docker görüntülerini Azure'da çalıştırmanızı sağlar.
Önceki alıştırmada web uygulamanızı yerel bir Docker görüntüsü olarak paketleyip test ettiniz. Şimdi bu alıştırmanın çıktısını kullanmak ve web uygulamasını genel olarak kullanılabilir hale getirmek istiyorsunuz. Bu kullanılabilirliği gerçekleştirmek için görüntüyü Azure Container Instance olarak çalıştırırsınız.
Bu alıştırmada, web uygulaması için görüntüyü yeniden derlemeyi ve Azure Container Registry'ye yüklemeyi öğreneceksiniz. Görüntüyü çalıştırmak için Azure Container Instances hizmetini kullanacaksınız.
Önemli
Bu alıştırmayı çalıştırmak için kendi Azure aboneliğinizin olması gerekir ve ücret ödeyebilirsiniz. Mevcut bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz hesap oluşturun.
Kapsayıcı kayıt defteri oluşturma
Azure aboneliğinizle Azure portalında oturum açın.
Kaynak menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin. Kaynak oluştur bölmesi görüntülenir.
Menüde Kapsayıcılar'ı ve ardından Container Registry'yi seçin.
Kapsayıcı kayıt defteri oluştur bölmesi görüntülenir.
Temel Bilgiler sekmesinde, her ayar için aşağıdaki değerleri girin.
Ayar Değer Proje ayrıntıları Abonelik Kaynakları oluşturmanıza ve yönetmenize izin verilen Azure aboneliğinizi seçin. Kaynak grubu learn-deploy-container-aci-rg adlı yeni bir kaynak grubu oluştur'u seçin. Seçtiğiniz adı unutmayın; bu modülün kalan alıştırmalarında kullanacaksınız. Ayrıca, modülü tamamladığınızda bu kaynağı temizlemeyi unutmayın. Örnek ayrıntıları Kayıt defteri adı İstediğiniz bir adı seçin. Kaynak defteri adı Azure’da benzersiz olmalı ve 5-50 arası alfasayısal karakter içermelidir. Konum Size yakın bir konum seçin. SKU Standart Gözden geçir ve oluştur’u seçin. Doğrulama başarılı bildirimi görüntülendiğinde Oluştur'u seçin. Devam etmeden önce kapsayıcı kayıt defterinin dağıtılmasını bekleyin.
Kaynağa git’i seçin. Kapsayıcı kayıt defteri bölmesinde kapsayıcı kayıt defterinizle ilgili temel bilgiler görüntülenir.
Kaynak menüsündeki Ayarlar altında Erişim anahtarları'nı seçin. Kapsayıcı kayıt defterinizin Erişim anahtarları bölmesi görüntülenir.
Yönetici kullanıcı ayarı devre dışıysa, Yönetici kullanıcı erişim tuşunu etkinleştirmek için kaydırıcıyı seçin. Kapsayıcı kayıt defteriniz için Kullanıcı adı ve parolalar görüntülenir.
Kapsayıcı kayıt defterinizin Kayıt Defteri adını, Oturum açma sunucusunu, Kullanıcı adını ve parolalarını not edin.
Dekont
Bu alıştırmada, görüntüleri karşıya yükleyip kayıt defterini test edebilmemiz için yönetici hesabı erişimini etkinleştireceğiz. Üretim ortamında, kayıt defterinin beklendiği gibi çalıştığından memnun olduğunuzda Yönetici kullanıcı hesabı erişimini devre dışı bırakmak ve Microsoft Entra Kimlik Koruması kullanmak önemlidir.
Otel rezervasyon sistemi uygulamasına ait görüntüyü Azure Container Registry’ye yükleme
Yerel komut isteminizde, geçerli
reservationsystem
görüntüyü kayıt defterinizin adıyla etiketlemek için öğesini kapsayıcı kayıt defterinizin adıyla değiştirerek<registry-name>
aşağıdaki komutu çalıştırın:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
docker image ls
Görüntünün doğru etiketlendiğini doğrulamak için komutunu çalıştırın:docker image ls
Aşağıdaki çıktıya benzer bir sonuç görmeniz gerekir:
REPOSITORY TAG IMAGE ID CREATED SIZE reservationsystem latest a56281e7038f 4 minutes ago 1.76GB <registry-name>.azurecr.io/reservationsystem latest a56281e7038f 4 minutes ago 1.76GB
Komut isteminde Azure Container Registry'nizde oturum açın.
docker login
komutunu kullanın ve önceden not ettiğiniz kayıt defteri oturum açma sunucusunu belirtin. İstendiğinde erişim anahtarlarınızdan kullanıcı adını ve parolayı girin.docker login <login-server>
Dekont
Bir daemon'dan uygulamanızın Microsoft Entra Kimliği'ne kayıtlı olmadığını belirten bir hata yanıtı alabilirsiniz. Bu alıştırmada daha önce belirtildiği gibi dağıtımımızı test etmek için Yönetici kullanıcı erişim anahtarını etkinleştirdiniz.
Görüntüyü Azure Container Registry'deki kayıt defterinize yüklemek için öğesini kendi kayıt defteri adınızla değiştirerek
<registry-name>
aşağıdaki komutu girin:docker push <registry-name>.azurecr.io/reservationsystem:latest
Karşıya yükleme tamamlanana kadar bekleyin. Bu işlemin görüntünün tüm nesnelerini deponuza göndermesi birkaç dakika sürer. Her nesne Beklemeaşamasından Hazırlama aşamasından Gönderime Göndermeye doğru ilerledikçe ilerleme durumunu gözlemleyebilirsiniz.
Kayıt defterinin içeriğini doğrulama
Alıştırmanın geri kalanında Azure portalına geri döneceksiniz.
Azure portalında kapsayıcı kayıt defterinize dönün.
Kaynak menüsünde, Hizmetler'in altında Depolar'ı seçin. Kapsayıcı kayıt defterinizin Depolar bölmesi görüntülenir.
reservationsystem deposunun göründüğünden emin olun. Reservationsystem deposunu seçin ve deponun en son etiketine sahip bir görüntü içerdiğini doğrulayın.
Azure Container Instances'ı kullanarak görüntü yükleme ve çalıştırma
Azure portalda Kaynak oluştur’u seçin. Kaynak oluştur bölmesi görüntülenir.
Kaynak menüsünde Kapsayıcılar'ı ve ardından Kapsayıcı Örnekleri'ni seçin.
Kapsayıcı örneği oluştur bölmesi görüntülenir.
Kapsayıcı Örneği'nin yapılandırılması için birkaç adım vardır. Kaynak grubu bilgilerini ve kapsayıcı ayrıntılarını ayarlayarak başlayın. Ardından kapsayıcının ağ seçeneklerini yapılandırın ve ilkeyi yeniden başlatın.
Temel Bilgiler sekmesinde, her ayar için aşağıdaki değerleri girin.
Ayar Değer Proje ayrıntıları Abonelik Kaynak oluşturmanıza ve yönetmenize izin verilen varsayılan Azure aboneliğinizi seçin Kaynak grubu Mevcut kaynak grubunu yeniden kullanma learn-deploy-container-aci-rg Kapsayıcı ayrıntıları Kapsayıcı adı hotelsysteminstance Bölge Varsayılan konumu kullanın Görüntü kaynağı Docker Hub veya diğer kayıt defteri Görüntü türü Özel Görsel <kayıt-defteri-adı>.azurecr.io/reservationsystem:latest Görüntü kayıt defteri oturum açma sunucusu Kayıt defterinizin oturum açma sunucusunun adını girin Görüntü kayıt defteri kullanıcı adı Kayıt defterinizin kullanıcı adını girin Görüntü kayıt defteri parolası Kayıt defterinizin parolasını girin İşletim Sistemi Türü Linux Size Varsayılan Boyut değerini 1 vcpu, 1,5 GiB bellek, 0 gpu olarak bırakın İleri: Ağ'ı seçin.
Ağ sekmesinde, her ayar için aşağıdaki değerleri girin.
Ayar Değer Ağ türü Sunulabilir DNS ad etiketi Kapsayıcı url'sinin bir parçası olarak kullanılacak benzersiz bir ad seçin. Bağlantı noktaları Bağlantı Noktaları 80 Bağlantı noktası protokolü TCP İleri: Gelişmiş'i seçin.
Gelişmiş sekmesinde, her ayar için aşağıdaki değerleri girin.
Ayar Değer Yeniden başlatma ilkesi Her zaman Ortam değişkenleri tüm ayarları boş bırakın Komut geçersiz kılma boş bırakın Gözden geçir ve oluştur’u seçin. Doğrulamanın tamamlanmasını bekleyin ve gerekirse hataları düzeltin.
Oluştur’u seçin.
Kapsayıcı örneği oluşturulduğunda Kaynağa git'i seçin. Kapsayıcı örneği bölmeniz görüntülenir.
Genel Bakış bölmesinde kapsayıcı örneğinin tam etki alanı adını (FQDN) bulun.
Web tarayıcısı kullanarak URL'sine
http://FQDN/api/reservations/1
gidin ve FQDN yerine kapsayıcı örneğinizin tam etki alanı adını yazın. Örneğin, yukarıdaki ekran görüntüsünde görünen FQDN'yi kullanmak şöyle görünür:http://hotel.southcentralus.azurecontainer.io/api/reservations/1
Web uygulaması, rezervasyon 1 ayrıntılarını içeren bir JSON nesnesiyle yanıt vermelidir.
Tebrikler! Docker görüntüsünü Azure Container Registry'ye yüklediniz ve Azure Container Instances hizmetini kullanarak çalıştırdınız.