Aracılığıyla paylaş


Hızlı Başlangıç: Azure'da özel kapsayıcı çalıştırma

Azure Uygulaması Hizmeti, Windows'ta IIS üzerinde çalışan ASP.NET veya Node.js gibi önceden tanımlanmış uygulama yığınları sağlar. Önceden yapılandırılmış uygulama yığınları işletim sistemini kilitler ve düşük düzeyli erişimi engeller. Özel Windows kapsayıcılarında bu kısıtlamalar yoktur. Geliştiricilerin kapsayıcıları tamamen özelleştirmesine ve kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermesine olanak tanır.

Bu hızlı başlangıçta, Windows görüntüsündeki bir ASP.NET uygulamasını Visual Studio'dan Azure Container Registry'ye dağıtma işlemi gösterilmektedir. Uygulamayı Azure Uygulaması Hizmeti'ndeki özel bir kapsayıcıda çalıştırırsınız.

Önkoşullar

ASP.NET web uygulaması oluşturma

Aşağıdaki adımları izleyerek bir ASP.NET web uygulaması oluşturun:

  1. Visual Studio'yu açın ve ardından Yeni proje oluştur'u seçin.

  2. Yeni proje oluştur bölümünde C# için ASP.NET Web Uygulaması (.NET Framework) öğesini ve ardından İleri'yi seçin.

    Yeni proje oluştur iletişim kutusunun ekran görüntüsü.

  3. Yeni projenizi yapılandırın bölümünde, Proje adı'nın altında uygulamayı myfirstazurewebapp olarak adlandırın. Framework'ün altında .NET Framework 4.8'i ve ardından Oluştur'u seçin.

    Web uygulamanızı yapılandırma projesinin ekran görüntüsü.

  4. Azure’a herhangi bir türde ASP.NET web uygulaması dağıtabilirsiniz. Bu hızlı başlangıç için MVC şablonunu seçin.

  5. Kimlik Doğrulaması'nın altında Yok'a tıklayın. Gelişmiş'in altında Kapsayıcı desteği'ne tıklayın ve HTTPS için yapılandır'ın işaretini kaldırın. Oluştur'u belirleyin.

    ASP.NET Web Uygulaması Oluştur iletişim kutusunun ekran görüntüsü.

  6. Dockerfile dosyası otomatik olarak açılmazsa Çözüm Gezgini’nden açın.

  7. Desteklenen bir üst görüntüye ihtiyacınız var. FROM satırını aşağıdaki kod ile değiştirerek üst görüntüyü değiştirin ve dosyayı kaydedin:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. Web uygulamasını yerel olarak çalıştırmak için Visual Studio menüsünden Hata>Ayıklama Olmadan Başlat'ı seçin.

    Yerel olarak çalışan uygulamanın ekran görüntüsü.

Azure Container Registry'de yayımlama

  1. Çözüm Gezgini myfirstazurewebapp projesine sağ tıklayın ve Yayımla'yı seçin.

  2. Hedef bölümünde Docker Container Registry'yi ve ardından İleri'yi seçin.

    Docker Container Registry'yi Seçin ekranının ekran görüntüsü.

  3. Belirli Hedef'te Azure Container Registry'yi ve ardından İleri'yi seçin.

    Projeden yayımla genel bakış sayfasının ekran görüntüsü.

  4. Yayımla'da doğru aboneliği seçin. Kapsayıcı kayıt defterleri bölümünde Yeni oluştur'u seçerek yeni bir Azure Container Registry oluşturun.

    Yeni Azure Container Registry oluştur ekranının ekran görüntüsü.

  5. Yeni oluştur bölümünde doğru aboneliği seçin. Kaynak grubu'nun altında Yeni'yi seçin ve ad olarak myResourceGroup yazın ve Tamam'ı seçin. SKU'nun altında Temel'i seçin. Kayıt defteri konumu'nun altında kayıt defterinin konumunu ve ardından Oluştur'u seçin.

    Azure Container Registry ayrıntılarının ekran görüntüsü.

  6. Yayımla'da, Kapsayıcı Kayıt Defteri'nin altında, oluşturduğunuz kayıt defterini seçin ve ardından Son'u seçin.

    Mevcut Azure Container Registry'yi seçin ekranının ekran görüntüsü.

    Dağıtımın tamamlanmasını bekleyin. Yayımla sayfası artık depo adını gösterir. Depo adını daha sonra kopyalamak için kopyala düğmesini seçin.

    Depo adını vurgulayan ekran görüntüsü.

Windows özel kapsayıcısı oluşturma

  1. Azure Portal’ında oturum açın.

  2. Azure portalın sol üst köşesinde bulunan Kaynak oluştur öğesini seçin.

  3. Popüler hizmetler'in altında Web Uygulaması altında Oluştur'useçin.

  4. Web Uygulaması Oluştur'da aboneliğinizi ve kaynak grubunu seçin. Gerekirse yeni bir kaynak grubu oluşturabilirsiniz.

  5. Win-container-demo gibi bir uygulama adı sağlayın. Yayımla için Kapsayıcı'yı seçin. İşletim Sistemi için Windows'a tıklayın.

    Kapsayıcılar için Web Uygulaması Oluşturma'nın ekran görüntüsü.

  6. Devam etmek için İleri: Veritabanı'na ve ardından İleri: Kapsayıcı'ya tıklayın.

  7. Görüntü Kaynağı için Docker Hub'ı seçin ve Görüntü ve etiket için Azure Container Registry'de yayımla bölümüne kopyaladığınız depo adını girin.

    Kapsayıcılar için Web Uygulamanızı Yapılandırma'nın ekran görüntüsü.

    Web uygulamanız için Azure Container Registry gibi başka bir konumda veya başka özel bir depoda bulunan özel görüntünüz varsa bu adımda yapılandırabilirsiniz. Devam etmek için Gözden Geçir + Oluştur'u seçin.

  8. Tüm ayrıntıları doğrulayın ve oluştur'u seçin.

    Kapsayıcılar için Web Uygulamanızı oluşturma seçeneğinin ekran görüntüsü.

    Azure'ın gerekli kaynakları oluşturmasını bekleyin.

Özel kapsayıcıya göz atın

İşlem tamamlandığında Azure portalı bir bildirim görüntüler.

Dağıtım başarılı oldu ekran görüntüsü.

  1. Kaynağa git’i seçin.

  2. Bu kaynağa genel bakış bölümünde Varsayılan etki alanı'nın yanındaki bağlantıyı izleyin.

Aşağıdaki sayfada yeni bir tarayıcı sayfası açılır:

Windows özel kapsayıcısının başlatılmasının ekran görüntüsü.

Birkaç dakika bekleyin ve varsayılan ASP.NET giriş sayfasını görene kadar tekrar deneyin:

Çalışan Windows özel kapsayıcısının ekran görüntüsü.

Tebrikler! Azure App Service'te ilk özel Windows kapsayıcınızı çalıştırıyorsunuz.

Kapsayıcı başlangıç günlüklerini inceleme

Windows kapsayıcısının yüklenmesi biraz zaman alabilir. İlerleme durumunu görmek için app_name uygulamanızın adıyla değiştirerek <> aşağıdaki URL'ye gidin.

https://<app_name>.scm.azurewebsites.net/api/logstream

Akışa alınan günlükler şöyle görünür:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Yerel olarak güncelleştirme ve yeniden dağıtma

  1. Visual Studio'da, Çözüm Gezgini Görünümler>Giriş>Dizini.cshtml dosyasını açın.

  2. Üst kısımda <div class="jumbotron"> HTML etiketini bulun ve tüm öğeyi aşağıdaki kodla değiştirin:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Azure'a yeniden dağıtmak için Çözüm Gezgini'da myfirstazurewebapp projesine sağ tıklayın ve Yayımla'yı seçin.

  4. Yayımlama sayfasında Yayımla’yı seçin ve yayımlama işleminin tamamlanmasını bekleyin.

  5. App Service’in Docker Hub’dan yeni görüntüyü çekmesini istemek için uygulamayı yeniden başlatın. Azure portalındaki uygulama sayfasında Evet'i Yeniden Başlat'ı>seçin.

    Yeniden Başlat düğmesinin vurgulandığı App Service'e Genel Bakış'ın ekran görüntüsü.

Özel kapsayıcıya yeniden göz atın. Web sayfasını yenilerken, uygulama ilk başta "Başlatılıyor" sayfasına geri dönmeli ve ardından güncelleştirilmiş web sayfasını görüntülemelidir.

Azure'da güncelleştirilmiş web uygulamasının ekran görüntüsü.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.

Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.

myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.

Linux üzerinde Azure Uygulaması Hizmeti, Linux üzerinde .NET, Java, Node.js ve PHP gibi diller için destek sağlayan önceden tanımlanmış uygulama yığınları sağlar. Web uygulamanızı Azure'da henüz tanımlanmamış bir uygulama yığınında çalıştırmak için özel bir Docker görüntüsü de kullanabilirsiniz. Bu hızlı başlangıçta, Bir Azure Container Registry'den (ACR) App Service'e görüntü dağıtma işlemi gösterilmektedir.

Sunucusuz bir ortamda kapsayıcılı uygulamalar hakkında daha fazla bilgi için bkz . Container Apps.

Önkoşullar

  • Bir Azure hesabı.
  • Docker.
  • Visual Studio Code.
  • VS Code için Azure Uygulaması Hizmeti uzantısı. Hizmet Olarak Azure Platformu'nda (PaaS) Linux Web Apps oluşturmak, yönetmek ve dağıtmak için bu uzantıyı kullanabilirsiniz.
  • VS Code için Docker uzantısı. Yerel Docker görüntülerinin ve komutlarının yönetimini basitleştirmek ve yerleşik uygulama görüntülerini Azure'a dağıtmak için bu uzantıyı kullanabilirsiniz.

Kapsayıcı kayıt defteri oluşturma

Bu hızlı başlangıçta kayıt defteri olarak Azure Container Registry kullanılır. Diğer kayıt defterlerini kullanabilirsiniz, ancak adımlar biraz farklı olabilir.

Hızlı Başlangıç: Azure portalını kullanarak özel kapsayıcı kayıt defteri oluşturma başlığı altındaki yönergeleri izleyerek bir kapsayıcı kayıt defteri oluşturun.

Önemli

Azure kapsayıcı kayıt defterini oluştururken Yönetici Kullanıcı seçeneğini Etkinleştir olarak ayarladığınızdan emin olun. Bunu, Azure portalındaki kayıt defteri sayfanızın Erişim anahtarları bölümünden de ayarlayabilirsiniz. Bu ayar App Service erişimi için gereklidir. Yönetilen kimlik için bkz . ACR'den dağıtma öğreticisi.

Oturum açın

  1. Visual Studio Code’u başlatın.

  2. Etkinlik Çubuğu'nda Azure logosunu seçin, HESAPLAR ve KIRACıLAR'a gidin. Azure'da oturum aç'ı seçin ve yönergeleri izleyin.

    Visual Studio Code'da Azure'da oturum açma ekran görüntüsü.

  3. En alttaki Durum Çubuğu'nda Azure hesabınızın e-posta adresini doğrulayın. APP SERVICE gezgininde aboneliğiniz görüntülenmelidir.

  4. Etkinlik Çubuğu'nda Docker logosunu seçin. REGISTRIES gezgininde, oluşturduğunuz kapsayıcı kayıt defterinin görüntülendiğini doğrulayın.

    Azure genişletilmiş kayıt defterleri değerini gösteren ekran görüntüsü.

Önkoşulları denetleme

Docker'ın yüklü ve çalışır durumda olduğunu doğrulayın. Aşağıdaki komut çalışıyorsa Docker sürümünü görüntüler.

docker --version

Görüntü oluşturma ve oluşturma

  1. Visual Studio Code'da boş bir klasör açın ve Dockerfile adlı bir dosya ekleyin. Dockerfile'da içeriği istediğiniz dil çerçevesine göre yapıştırın:

    Bu Dockerfile'da üst görüntü, App Service'in yerleşik .NET kapsayıcılarından biridir.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. Komut Paleti'ni açın ve Docker Images: Build Image yazın. Komutu çalıştırmak için Enter'ı seçin.

  3. Görüntü etiketi kutusunda, istediğiniz etiketi şu biçimde belirtin: <acr-name>.azurecr.io/<image-name>:<tag>burada <acr-name> , oluşturduğunuz kapsayıcı kayıt defterinin adıdır. Gir'i seçin.

  4. Görüntü oluşturma işlemi tamamlandığında, IMAGES gezgininin üst kısmındaki Yenile'yi seçin ve görüntünün başarıyla oluşturulduğundan emin olun.

    Etiketli yerleşik görüntüyü gösteren ekran görüntüsü.

Kapsayıcı kayıt defterine dağıtma

  1. Etkinlik Çubuğu'nda Docker simgesini seçin. IMAGES gezgininde, oluşturduğunuz görüntüyü bulun.

  2. Resmi genişletin, istediğiniz etikete sağ tıklayın ve Gönder'i seçin.

  3. Resim etiketinin ile <acr-name>.azurecr.io başladığından emin olun ve Enter tuşuna basın.

  4. Visual Studio Code görüntüyü kapsayıcı kayıt defterinize göndermeyi bitirdiğinde, REGISTRIES gezgininin üst kısmındaki Yenile'yi seçin ve görüntünün başarıyla gönderildiğini doğrulayın.

    Azure kapsayıcı kayıt defterine dağıtılan görüntüyü gösteren ekran görüntüsü.

App Service’e dağıtma

  1. KAYıT DEFTERLERI gezgininde görüntüyü genişletin, etikete sağ tıklayın ve Azure Uygulaması Hizmetine Görüntü Dağıt'ı seçin.
  2. Abonelik, genel olarak benzersiz bir uygulama adı, kaynak grubu ve App Service planı seçmek için istemleri izleyin. Fiyatlandırma katmanı ve size yakın bir bölge için B1 Temel'i seçin.

Dağıtımdan sonra, uygulamanız adresinde http://<app-name>.azurewebsites.netkullanılabilir.

Kaynak Grubu, uygulamanızın Azure'daki tüm kaynaklarından oluşan adlandırılmış bir koleksiyondur. Örneğin, Kaynak Grubu bir web sitesine, veritabanına ve Azure İşlevine başvuru içerebilir.

App Service Planı, web sitenizi barındırmak için kullanılacak fiziksel kaynakları tanımlar. Bu hızlı başlangıçta Linux altyapısında Temel barındırma planı kullanılır ve bu da sitenin diğer web sitelerinin yanı sıra bir Linux makinesinde barındırıldığı anlamına gelir. Temel planla başlarsanız, bir makinede çalışan tek sitenin sizinki olması için ölçeği genişletmek için Azure portalını kullanabilirsiniz. Fiyatlandırma için bkz . App Service fiyatlandırması.

Web sitesine göz atma

Çıkış panelinde dağıtım işlemlerinin durumu gösterilir. İşlem tamamlandığında, siteyi tarayıcınızda açmak için açılır bildirimde Siteyi Aç'ı seçin.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.

Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.

myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.

Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız.

App Service uygulaması her başlatıldığında kapsayıcı kayıt defterinden çeker. Görüntünüzü yeniden oluşturursanız kapsayıcı kayıt defterinize göndermeniz yeterlidir ve uygulama yeniden başlatıldığında güncelleştirilmiş görüntüyü çeker. Uygulamanıza güncelleştirilmiş görüntüyü hemen çekmesini söylemek için yeniden başlatın.

Diğer Azure uzantıları:

Linux üzerinde Azure Uygulaması Hizmeti, Linux üzerinde .NET, Java, Node.js ve PHP gibi diller için destek sağlayan önceden tanımlanmış uygulama yığınları sağlar. Web uygulamanızı Azure'da henüz tanımlanmamış bir uygulama yığınında çalıştırmak için özel bir Docker görüntüsü de kullanabilirsiniz. Bu hızlı başlangıçta, Azure Container Registry'den Azure Uygulaması Hizmeti'ne görüntü dağıtma işlemi gösterilmektedir.

Sunucusuz bir ortamda kapsayıcılı uygulamalar hakkında daha fazla bilgi için bkz . Container Apps.

Önkoşullar

Örnek depoyu kopyalama

.NET 6.0 örnek uygulamasını aşağıdaki komutla kopyalayın:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Görüntüyü Azure Container Registry'ye gönderme

Kopyalanan deponun kök klasöründe olduğunuzdan emin olun. Bu depo bir Dockerfile.linux dosyası içerir.

  1. Azure CLI'da oturum açın.

    az login
    
  2. Azure Container Registry'de oturum açın.

    az acr login -n <your_registry_name>
    
  3. Kapsayıcı görüntüsünü oluşturun. Bu örnekte dotnetcore-docs-hello-world-linux görüntü adı kullanılmaktadır.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Kapsayıcı görüntüsünü Azure Container Registry'ye gönderin.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Not

    Dockerfile, bağlantı noktası numarasını dahili olarak 80 olarak ayarlar. Kapsayıcıyı yapılandırma hakkında daha fazla bilgi için bkz . Özel kapsayıcı yapılandırma.

Azure’a dağıtın

Azure Portal'da oturum açın

Azure Portal’ında oturum açın.

Azure kaynakları oluşturma

  1. Aramaya uygulama hizmetleri yazın. Hizmetler'in altında Uygulama Hizmetleri'ne tıklayın.

    Azure portalında 'uygulama hizmetleri' arama işleminin ekran görüntüsü.

  2. App Services sayfasında Web Uygulaması Oluştur'u>seçin.

  3. Temel Bilgiler sekmesindeki Proje ayrıntıları'nın altında doğru aboneliği seçin. Yeni kaynak grubu oluştur'u seçin. Ad olarak myResourceGroup yazın.

    Web uygulaması için Azure aboneliğini ve kaynak grubunu seçtiğiniz yeri gösteren Proje ayrıntıları bölümünün ekran görüntüsü.

  4. Örnek ayrıntıları altında:

    • Web uygulamanız için genel olarak benzersiz bir ad girin.
    • Kapsayıcı'ya tıklayın.
    • İşletim Sistemi için Linux'ı seçin.
    • Uygulamanıza hizmet vermek istediğiniz bir Bölge seçin.

    Sanal makine için bir ad sağladığınız ve bu makinenin bölgesini, görüntüsünü ve boyutunu seçtiğiniz Örnek ayrıntıları bölümünün ekran görüntüsü.

  5. App Service Planı'nın altında Yeni App Service Planı oluştur'u seçin. Ad olarak myAppServicePlan girin. Ücretsiz katmanına geçmek için Boyutu değiştir'i seçin, Geliştirme/Test sekmesini ve F1'i seçin. Uygula’yı seçin.

    App Service planı seçeneklerinin ekran görüntüsü.

  6. Sayfanın üst kısmında Kapsayıcı sekmesini seçin.

  7. Kapsayıcı sekmesinde, Görüntü Kaynağı için Azure Container Registry'yi seçin. Azure kapsayıcı kayıt defteri seçenekleri altında aşağıdaki değerleri ayarlayın:

    • Kayıt Defteri: Azure Container Registry'nizi seçin.
    • Görüntü: dotnetcore-docs-hello-world-linux öğesini seçin.
    • Etiket: En son seçeneğini belirleyin.

    Azure Container Registry seçeneklerini gösteren ekran görüntüsü.

  8. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.

    Sayfanın en altındaki Gözden geçir ve oluştur düğmesini gösteren ekran görüntüsü.

  9. Doğrulama çalıştırıldıktan sonra Oluştur'u seçin.

  10. Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.

    Kaynağa gitme işleminin sonraki adımını gösteren ekran görüntüsü.

Uygulamaya göz atma

URL'sinde http://<app-name>.azurewebsites.netweb tarayıcınızda dağıtılan uygulamaya göz atın.

Dağıtılan uygulamanın gösterildiği ekran görüntüsü.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.

Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.

myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.

Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız.

App Service uygulaması her başlatıldığında kapsayıcı kayıt defterinden çeker. Görüntünüzü yeniden oluşturursanız kapsayıcı kayıt defterinize göndermeniz yeter. Uygulama yeniden başlatıldığında güncelleştirilmiş görüntüyü çeker. Uygulamanıza güncelleştirilmiş görüntüyü hemen çekmesini söylemek için yeniden başlatın.

Azure Uygulaması Hizmeti, Windows'ta IIS üzerinde çalışan ASP.NET veya Node.js gibi önceden tanımlanmış uygulama yığınları sağlar. Önceden yapılandırılmış uygulama yığınları işletim sistemini kilitler ve düşük düzeyli erişimi engeller. Özel Windows kapsayıcılarında bu kısıtlamalar yoktur. Geliştiricilerin kapsayıcıları tamamen özelleştirmesine ve kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermesine olanak tanır.

Bu hızlı başlangıçta, Azure Container Registry'den Azure Uygulaması Hizmeti'ne windows görüntüsünde bir ASP.NET uygulamasının nasıl dağıtılacağı gösterilmektedir.

Önkoşullar

Örnek depoyu kopyalama

.NET 6.0 örnek uygulamasını aşağıdaki komutla kopyalayın:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Görüntüyü Azure Container Registry'ye gönderme

Kopyalanan deponun kök klasöründe olduğunuzdan emin olun. Bu depo bir Dockerfile.windows dosyası içerir. Bu makalede, temel işletim sistemi olarak Windows Nano Server Uzun Süreli Bakım Kanalı (LTSC) 2022 kullanılır ve Windows tabanımızı açıkça çağırır.

Not

Bu kapsayıcı bir Windows kapsayıcısı olsa da, yolların yine de eğik çizgi kullanması gerekir. Daha fazla bilgi için bkz . Dockerfile yazma.

  1. Azure CLI'da oturum açın.

    az login
    
  2. Azure Container Registry'de oturum açın.

    az acr login -n <your_registry_name>
    
  3. Kapsayıcı görüntüsünü oluşturun. Bu örnekte dotnetcore-docs-hello-world-windows görüntü adı kullanılmaktadır.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Kapsayıcı görüntüsünü Azure Container Registry'ye gönderin.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Not

    Dockerfile, bağlantı noktası numarasını dahili olarak 80 olarak ayarlar. Kapsayıcıyı yapılandırma hakkında daha fazla bilgi için bkz . Özel kapsayıcı yapılandırma.

Azure’a dağıtın

Azure Portal'da oturum açın

Azure Portal’ında oturum açın.

Azure kaynakları oluşturma

  1. Aramaya uygulama hizmetleri yazın. Hizmetler'in altında Uygulama Hizmetleri'ne tıklayın.

    Azure portalında 'uygulama hizmetleri' arama işleminin ekran görüntüsü.

  2. App Services sayfasında Web Uygulaması Oluştur'u>seçin.

  3. Temel Bilgiler sekmesindeki Proje ayrıntıları'nın altında doğru aboneliği seçin. Yeni kaynak grubu oluştur'u seçin. Ad olarak myResourceGroup yazın.

    Web uygulaması için Azure aboneliğini ve kaynak grubunu seçtiğiniz yeri gösteren Proje ayrıntıları bölümünün ekran görüntüsü.

  4. Örnek ayrıntıları altında:

    • Web uygulamanız için genel olarak benzersiz bir ad girin.
    • Kapsayıcı'ya tıklayın.
    • İşletim Sistemi için Linux'ı seçin.
    • Uygulamanıza hizmet vermek istediğiniz bir Bölge seçin.

    Sanal makine için bir ad sağladığınız ve bu makinenin bölgesini, görüntüsünü ve boyutunu seçtiğiniz Örnek ayrıntıları bölümünün ekran görüntüsü.

  5. App Service Planı'nın altında Yeni App Service Planı oluştur'u seçin. Ad olarak myAppServicePlan girin. Katmanı değiştirmek için Fiyatlandırma planlarını keşfet'i seçin, bir plan seçin ve sayfanın alt kısmındaki Seç'i seçin.

    App Service planı seçeneklerinin ekran görüntüsü.

  6. Sayfanın üst kısmında Kapsayıcı sekmesini seçin.

  7. Kapsayıcı sekmesinde, Görüntü Kaynağı için Azure Container Registry'yi seçin. Azure kapsayıcı kayıt defteri seçenekleri altında aşağıdaki değerleri ayarlayın:

    • Kayıt Defteri: Azure Container Registry'nizi seçin.
    • Görüntü: dotnetcore-docs-hello-world-linux öğesini seçin.
    • Etiket: En son seçeneğini belirleyin.

    Azure Container Registry seçeneklerini gösteren ekran görüntüsü.

  8. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.

    Sayfanın en altındaki Gözden geçir ve oluştur düğmesini gösteren ekran görüntüsü.

  9. Doğrulama çalıştırıldıktan sonra Oluştur'u seçin.

  10. Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.

    Kaynağa gitme işleminin sonraki adımını gösteren ekran görüntüsü.

Uygulamaya göz atma

URL'sinde http://<app-name>.azurewebsites.netweb tarayıcınızda dağıtılan uygulamaya göz atın.

Windows App Service'in, bağlantı noktası kullanıma sunulmadan kapsayıcıların arka plan modunda çalıştığı mesajlaşma ile ekran görüntüsü.

Alt bilgide Konak işletim sistemi görüntülenir ve bu sistem bir Windows kapsayıcısında çalıştığını onaylar.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.

Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.

myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.

Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız.

App Service uygulaması her başlatıldığında kapsayıcı kayıt defterinden çeker. Görüntünüzü yeniden oluşturursanız kapsayıcı kayıt defterinize göndermeniz yeter. Uygulama yeniden başlatıldığında güncelleştirilmiş görüntüyü çeker. Uygulamanıza güncelleştirilmiş görüntüyü hemen çekmesini söylemek için yeniden başlatın.

Azure Uygulaması Hizmeti, Windows'ta IIS üzerinde çalışan ASP.NET veya Node.js gibi önceden tanımlanmış uygulama yığınları sağlar. Önceden yapılandırılmış uygulama yığınları işletim sistemini kilitler ve düşük düzeyli erişimi engeller. Özel Windows kapsayıcılarında bu kısıtlamalar yoktur. Geliştiricilerin kapsayıcıları tamamen özelleştirmesine ve kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermesine olanak tanır.

Bu hızlı başlangıçta, Microsoft Yapıt Kayıt Defteri'den Azure Uygulaması Hizmeti'ne windows görüntüsünde bir ASP.NET uygulamasının nasıl dağıtılacağı gösterilmektedir.

Önkoşullar

Azure'a bağlanma

Connect-AzAccount komutunu kullanarak ve istemi izleyerek Azure hesabınızda oturum açın:

Connect-AzAccount

Kaynak grubu oluşturma

New-AzResourceGroup komutuyla bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur. App Service için desteklenen tüm konumları görmek için Get-AzLocation komutunu çalıştırın.

New-AzResourceGroup -Name myResourceGroup -Location eastus

komutu döndürür Login Succeeded.

App Service Planınızı oluşturma

New-AzAppServicePlan komutunu kullanarak yeni bir App service Planı oluşturun.

Aşağıdaki örnek, PremiumV3 fiyatlandırma katmanında (-Tier PremiumV3 ) adlı myAppServicePlan bir App Service planı oluşturur. -HyperV parametresi Windows kapsayıcısını belirtir.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

Web uygulamanızı oluşturma

New-AzWebApp komutunu kullanarak yeni bir uygulama oluşturun:

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Ad parametresi web uygulamasının adını belirtir.
  • AppServicePlan parametresi App Service Plan Adını belirtir.
  • Location parametresi konumu belirtir.
  • ResourceGroupName parametresi Kaynak Grubunun adını belirtir.
  • ContainerImageName parametresi bir Kapsayıcı Görüntüsü Adı ve isteğe bağlı etiketi belirtir.

Komutun tamamlanması birkaç dakika sürebilir.

Uygulamaya göz atma

URL'sinde http://<app-name>.azurewebsites.netweb tarayıcınızda dağıtılan uygulamaya göz atın.

Windows App Service'in, bağlantı noktası kullanıma sunulmadan kapsayıcıların arka plan modunda çalıştığı mesajlaşma ile ekran görüntüsü.

Kaynakları temizleme

Remove-AzResourceGroup komutunu kullanarak kaynak grubunu kaldırın:

Remove-AzResourceGroup myResourceGroup

Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız.

App Service uygulaması her başlatıldığında kapsayıcı kayıt defterinden çeker. Görüntünüzü yeniden oluşturursanız kapsayıcı kayıt defterinize göndermeniz yeter. Uygulama yeniden başlatıldığında güncelleştirilmiş görüntüyü çeker. Uygulamanıza güncelleştirilmiş görüntüyü hemen çekmesini söylemek için yeniden başlatın.

Azure Uygulaması Hizmeti, Windows'ta IIS üzerinde çalışan ASP.NET veya Node.js gibi önceden tanımlanmış uygulama yığınları sağlar. Önceden yapılandırılmış uygulama yığınları işletim sistemini kilitler ve düşük düzeyli erişimi engeller. Özel Windows kapsayıcılarında bu kısıtlamalar yoktur. Geliştiricilerin kapsayıcıları tamamen özelleştirmesine ve kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermesine olanak tanır.

Bu hızlı başlangıçta, Microsoft Yapıt Kayıt Defteri'den Azure Uygulaması Hizmeti'ne windows görüntüsünde bir ASP.NET uygulamasının nasıl dağıtılacağı gösterilmektedir.

Önkoşullar

Azure'a bağlanma

az login komutunu kullanarak ve istemi izleyerek Azure hesabınızda oturum açın:

az login

Kaynak grubu oluşturma

az group create komutuyla bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur. App Service için desteklenen tüm konumları görmek için az appservice list-locations komutunu çalıştırın.

az group create --name myResourceGroup --location eastus

App Service Planınızı oluşturma

komutuyla az appservice plan create kaynak grubunda bir App Service planı oluşturun.

Aşağıdaki örnek, P1V3 fiyatlandırma katmanında (--sku P1V3 ) adlı myAppServicePlan bir App Service planı oluşturur.

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Not

Hatayla karşılaşırsanız, bu komutun davranışı şu uzantı tarafından değiştirildi: appservice-kube, uzantıyı appservice-kube kaldırın.

Web uygulamanızı oluşturma

az webapp create komutuyla App Service planında myAppServicePlan özel bir kapsayıcı web uygulaması oluşturun. myContainerApp değerini benzersiz bir uygulama adıyla değiştirmeyi unutmayın (geçerli karakterler a-z: , 0-9ve -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Ad parametresi web uygulamasının adını belirtir.
  • AppServicePlan parametresi App Service Plan Adını belirtir.
  • Location parametresi konumu belirtir.
  • ResourceGroupName parametresi Kaynak Grubunun adını belirtir.
  • deployment-container-image-name parametresi bir kapsayıcı görüntüsü adı ve isteğe bağlı etiketi belirtir.

Uygulamaya göz atma

URL'sinde http://<app-name>.azurewebsites.netweb tarayıcınızda dağıtılan uygulamaya göz atın.

Windows App Service'in, bağlantı noktası kullanıma sunulmadan kapsayıcıların arka plan modunda çalıştığı mesajlaşma ile ekran görüntüsü.

Kaynakları temizleme

az group delete komutunu kullanarak kaynak grubunu kaldırın:

az group delete --no-wait --name <resource_group>

Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız.

App Service uygulaması her başlatıldığında kapsayıcı kayıt defterinden çeker. Görüntünüzü yeniden oluşturursanız kapsayıcı kayıt defterinize göndermeniz yeter. Uygulama yeniden başlatıldığında güncelleştirilmiş görüntüyü çeker. Uygulamanıza güncelleştirilmiş görüntüyü hemen çekmesini söylemek için yeniden başlatın.