Aracılığıyla paylaş


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

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ğıtmayı öğreneceksiniz. Uygulamayı Azure Uygulaması Hizmeti'ndeki özel bir kapsayıcıda çalıştırırsınız.

Azure App Service , Windows üzerinde Internet Information Services (IIS) üzerinde çalışan önceden tanımlanmış uygulama yığınları sağlar. Bu ö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ştiriciler, kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermek için özel kapsayıcılar kullanabilir.

Önkoşullar

Visual Studio 2022'yi zaten yüklediyseniz:

  • Güncelleştirmeleri Denetleme Yardımı'nı seçerek Visual Studio'daki en son güncelleştirmeleri yükleyin.>
  • Visual Studio'da iş yüklerini eklemek için Araçlar>Araçlar ve Özellikleri Al'ı seçin.

ASP.NET web uygulaması oluşturma

  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, için C# öğesini ve ardından İleri'yi seçin.

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

  3. Yeni proje> projenizinadını yapılandırın bölümünde uygulamayı myfirstazurewebappolarak adlandırın. Framework'ün altında .NET Framework 4.8'i ve ardından Oluştur'u seçin.

    Web uygulaması projenizi yapılandırmayı gösteren 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'ı temizleyin. Oluştur'u belirleyin.

    ASP.NET Web Uygulaması oluştur iletişim kutusunu gösteren ekran görüntüsü.

  6. Dockerfile otomatik olarak açılmazsa Çözüm Gezgini'ni seçerek açın.

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

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

    Uygulamanın yerel olarak çalıştığını gösteren ekran görüntüsü.

Azure Container Registry'de yayımlama

  1. Çözüm Gezgini'nde projeye sağ tıklayın myfirstazurewebapp 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ı gösteren 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ış bölmesini gösteren ekran görüntüsü.

  4. Yayımla'da doğru aboneliği seçin. Yeni bir kapsayıcı kayıt defteri oluşturmak için Kapsayıcı kayıt defterlerindeyeni oluştur'u seçin.

    Yeni Azure Container Registry oluştur ekranını gösteren 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 yazınmyResourceGroup. Ardından Tamam'ı seçin. SKU altında Temel'i seçin. Kayıt defteri konumu altında kayıt defteri için bir konum seçin ve ardından Oluştur'u seçin.

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

  6. Yayımla'da, Container Registry'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ı gösteren ekran görüntüsü.

    Dağıtımın bitmesini bekleyin. Yayımla bölmesi artık depo adını gösterir. Daha sonra kullanmak üzere Depo adını kopyalamak için Kopyala düğmesini seçin.

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

Windows özel kapsayıcı oluşturun

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

  2. Azure portalının sol üst köşesinde kaynak oluştur'u seçin.

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

  4. Web Uygulaması Oluştur bölümünde aboneliğinizi ve kaynak grubunuzu seçin. Gerekirse yeni bir kaynak grubu oluşturabilirsiniz.

  5. gibi win-container-demobir 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şturmayı gösteren ekran görüntüsü.

  6. İleri: Veritabanı>İleri: Kapsayıcı.

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

    Web uygulamanızı kapsayıcılar için yapılandırmayı gösteren ekran görüntüsü.

    Web uygulamanız için Azure Container Registry veya başka bir özel depo gibi başka bir konumda özel bir görüntünüz varsa, burada yapılandırabilirsiniz. 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ın nasıl oluşturulacağını gösteren 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ın başarılı olduğunu gösteren ekran görüntüsü.

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

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

Yeni bir tarayıcı sayfası açılır.

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

Birkaç dakika bekleyin ve tekrar deneyin. Varsayılan ASP.NET giriş sayfasına gelene kadar denemeye devam edin.

Windows özel bir kapsayıcının çalıştığını gösteren ekran görüntüsü.

Kapsayıcı başlangıç günlüklerini gör

Windows kapsayıcısının yüklenmesi biraz zaman alabilir. İlerlemeyi görmek için uygulamanızın adını \<app_name> yerine koyarak aşağıdaki URL'ye ulaşabilirsiniz.

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'ne gidin. Görünümler>Ana Sayfa>Index.cshtml'yi seçin.

  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'ndemyfirstazurewebapp projesine sağ tıklayın ve yayımla'yı seçin.

  4. Yayımla bölmesinde Yayımla'yı seçin ve yayımlamanın bitmesini 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 bölmesinde Evet'i Yeniden Başlat'ı> seçin.

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

  6. Özel kapsayıcıya tekrar göz atın. Sayfayı yenilerken, uygulama ilk olarak Başlangıç sayfasına geri dönmelidir. Ardından güncelleştirilmiş sayfayı görüntülemesi gerekir.

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

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, kaynak grubunu silerek bunları silebilirsiniz:

  1. Azure portalı menüsünden veya girişsayfasından myResourceGroup> seçin.

  2. myResourceGroup bölmesinde, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

  3. Kaynak grubunu sil seçeneğini seçin. Onaylamak için metin kutusuna myResourceGroup yazın ve Sil'i seçin.

Bu hızlı başlangıçta, Azure Container Registry'den Azure App Service'e görüntü dağıtmayı öğreneceksiniz.

Linux üzerinde App Service, Linux üzerinde .NET, Java, Node.jsve 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.

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

Önkoşullar

  • Bir Azure hesabı.
  • Docker
  • VS Code.
  • VS Code için Azure Uygulaması Hizmeti uzantısı. Hizmet olarak Azure platformu (PaaS) ile Linux web uygulamaları 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şturun

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 kapsayıcı kayıt defteri oluşturun.

Önemli

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 bölmenizin Erişim anahtarları bölümünden de ayarlayabilirsiniz. App Service'e erişmek için bu ayara ihtiyacınız vardır. Yönetilen kimlik için bkz. Azure Container Registry'den dağıtma.

Oturum açın

  1. VS Code'i açın.

  2. Etkinlik çubuğundaAzure logosunu seçin ve hesaplar ve KIRACıLAR'a gidin. Azure'da oturum aç'ı seçin ve yönergeleri izleyin.

    VS Code'da Azure'da oturum açmayı gösteren ekran görüntüsü.

  3. En alttaki durum çubuğunda Azure hesabınızın e-posta adresinin doğru olduğunu doğrulayın. Aboneliğiniz APP SERVICE gezgininde görüntülenmelidir.

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

    Azure'ın genişletilmiş haliyle Kayıt Defteri 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. Docker çalışıyorsa, aşağıdaki komut Docker sürümünü görüntüler:

docker --version

Görüntü oluşturma ve inşa etme

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

    Bu dosyada, ana görüntü, App Service'in yerleşik .NET kapsayıcılarından biri olan.

    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 paletini 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ğıtım yapma

  1. Etkinlik çubuğunda 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. VS Code, görüntüyü kapsayıcı kayıt defterinize göndermeyi bitirdiğinde, KAYıT DEFTERLERI 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 Container Registry'ye dağıtılan görüntüyü gösteren ekran görüntüsü.

App Service'e dağıt

  1. REGISTRIES gezgininde görüntüyü genişletin, etikete sağ tıklayın ve ardından Görüntüyü Azure App Service'e Dağıt'ı seçin.
  2. Bir 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 http://<app-name>.azurewebsites.net adresinde kullanılabilir.

Kaynak grubu, uygulamanızın Azure'daki tüm kaynaklarından oluşan adlandırılmış bir koleksiyondur. Örneğin, bir kaynak grubu web sitesine, veritabanına ve Azure iş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ılmaktadı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 makinenin yalnızca sitenizi çalıştırması 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, açılır bildirimde Siteyi Aç'ı seçerek siteyi tarayıcınızda açın.

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.

Sorun gidermek için Bir sorunla karşılaştım bölümüne gidin.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, kaynak grubunu silerek bunları silebilirsiniz:

  1. Azure portalı menüsünden veya girişsayfasından myResourceGroup> seçin.

  2. myResourceGroup bölmesinde, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

  3. Kaynak grubunu sil seçeneğini seçin. Onaylamak için metin kutusuna myResourceGroup yazın ve Sil'i seçin.

Diğer Azure uzantıları:

Bu hızlı başlangıçta, Azure Container Registry'den Azure App Service'e görüntü dağıtmayı öğreneceksiniz.

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.

Sunucusuz bir ortamda kapsayıcılı uygulamalar hakkında daha fazla bilgi için bkz. Azure Container Apps'e genel bakış.

Önkoşullar

Örnek depoyu kopyalama

Aşağıdaki komutu kullanarak .NET 6.0 örnek uygulamasını 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 bir Dockerfile.linux dosya içeren kök klasöründe olduğunuzdan emin olun.

  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 görüntü adı dotnetcore-docs-hello-world-linuxkullanılı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 (Hatırlatma/Not)

    Dockerfile, bağlantı noktası numarasını dahili olarak 80 olarak ayarlar. Daha fazla bilgi için Özel kapsayıcı yapılandırma bölümüne gidin.

Azure’a dağıtın

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

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

    Azure portalında uygulama hizmetlerinin nasıl arandığını gösteren ekran görüntüsü.

  3. App Services bölmesindeWeb Uygulaması> seçin.

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

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

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

    • Web uygulamanız için genel olarak benzersiz bir ad girin.
    • Kapsayıcı'yı seçin.
    • İşletim Sistemi için Linux'ı seçin.
    • Bölge bölümünde, uygulamanıza hizmet vermek istediğiniz bölgeyi 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ü gösteren ekran görüntüsü.

  6. App Service Planı'nın altında Yeni oluştur'u seçin. Ad olarak myAppServicePlan girin. Ücretsiz katmanına geçmek için Boyutu> değiştirGeliştirme/Test>F1>Uygula'yı seçin.

    Plan seçeneklerini gösteren ekran görüntüsü.

  7. Bölmenin üst kısmında Kapsayıcı sekmesini seçin.

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

    • Kayıt defteri: Kapsayıcı kayıt defterinizi 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ü.

  9. Bölmenin alt kısmındaki Gözden geçir ve oluştur'u seçin.

    Bölmenin altındaki düğmeyi gösteren ekran görüntüsü.

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

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

    Kaynağa gitme düğmesini gösteren ekran görüntüsü.

Uygulamayı aç

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

Dağıtılan uygulamayı gösteren ekran görüntüsü.

App Service uygulaması her başlatıldığında, kapsayıcı kayıt defterinden verileri çekerek alır. Eğer görüntünüzü yeniden oluşturursanız, kapsayıcı kayıt defterinize yükleyin. 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.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, kaynak grubunu silerek bunları silebilirsiniz:

  1. Azure portalı menüsünden veya girişsayfasından myResourceGroup> seçin.

  2. myResourceGroup bölmesinde, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

  3. Kaynak grubunu sil seçeneğini seçin. Onaylamak için metin kutusuna myResourceGroup yazın ve Sil'i seçin.

Bu hızlı başlangıçta, Azure Container Registry'den Azure App Service'e windows görüntüsünde bir ASP.NET uygulaması dağıtmayı öğreneceksiniz.

Azure App Service , ASP.NET veya Node.jsgibi, Windows üzerinde Internet Information Services (IIS) üzerinde çalışan önceden tanımlanmış uygulama yığınları sağlar. Bu ö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ştiriciler, kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermek için özel kapsayıcılar kullanabilir.

Önkoşullar

Örnek depoyu kopyalama

Aşağıdaki komutu kullanarak .NET 6.0 örnek uygulamasını 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 dosya içeriyor. Bu makalede, temel işletim sistemi olarak Windows Nano Server Long Term Servicing Channel 2022 kullanılır ve Windows tabanı açıkça belirtilir.

Not (Hatırlatma/Not)

Bu kapsayıcı bir Windows kapsayıcısı olsa da, yolların yine de ileri eğik çizgi kullanması gerekir. Daha fazla bilgi için Dockerfile Yazma bölümüne bakın.

  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 görüntü adı dotnetcore-docs-hello-world-windowskullanılı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 (Hatırlatma/Not)

    Dockerfile, bağlantı noktası numarasını 80 dahili olarak olarak ayarlar. Daha fazla bilgi için bkz. Özel kapsayıcıyı yapılandırın.

Azure’a dağıtın

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

  2. Arama kutusuna uygulama hizmetlerini girin. Hizmetler'in altında Uygulama Hizmetleri'ne tıklayın.

    Azure portalında uygulama hizmetlerinin nasıl arandığını gösteren ekran görüntüsü.

  3. App Services'teWeb Uygulaması> seçin.

  4. Temel Bilgiler sekmesindeki Proje ayrıntıları'nın altında doğru aboneliği seçin. Yeni Oluştur'u seçin. İsim olarak myResourceGroup girin.

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

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

    • Web uygulamanız için genel olarak benzersiz bir ad girin.
    • Kapsayıcı'yı seçin.
    • İşletim Sistemi için Linux'ı seçin.
    • Bölge için, uygulamanıza hizmet vermek istediğiniz bölgeyi 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ü gösteren ekran görüntüsü.

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

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

  7. Bölmenin üst kısmında Kapsayıcı sekmesini seçin.

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

    • Kayıt defteri: Kapsayıcı kayıt defterinizi 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ü.

  9. Bölmenin alt kısmındaki Gözden geçir ve oluştur'u seçin.

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

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

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

    Kaynağa nasıl gidildiğini gösteren ekran görüntüsü.

Uygulamaya gitme

Web tarayıcınızda http://<app-name>.azurewebsites.net adresindeki dağıtılan uygulamaya gidin.

Windows App Service'i gösteren ekran görüntüsü.

Uygulamanın bir Windows kapsayıcısında çalıştığını onaylayan konak işletim sistemi, alt kısımda gösterilir.

App Service uygulaması her başlatıldığında, kapsayıcı kayıt defterinden verileri çekerek alır. Eğer görüntünüzü yeniden oluşturursanız, kapsayıcı kayıt defterinize yükleyin. 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.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte bu kaynaklara ihtiyaç duymayı beklemiyorsanız, kaynak grubunu silerek bunları silebilirsiniz:

  1. Azure portalı menüsünden veya girişsayfasından myResourceGroup> seçin.

  2. myResourceGroup bölmesinde, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

  3. Kaynak grubunu sil seçeneğini seçin. Onaylamak için metin kutusuna myResourceGroup yazın ve Sil'i seçin.

Bu hızlı başlangıçta, Microsoft Artifact Registry'den Azure App Service'e windows görüntüsünde bir ASP.NET uygulaması dağıtmayı öğreneceksiniz.

Azure App Service , Windows üzerinde Internet Information Services (IIS) üzerinde çalışan ö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ştiriciler, kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermek için özel kapsayıcılar kullanabilir.

Önkoşullar

Azure'a bağlanma

komutunu kullanarak ve istemi izleyerek Connect-AzAccount 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 myResourceGroup konumunda eastus adlı bir kaynak grubu oluşturur. App Service için desteklenen tüm konumları görmek için komutunu çalıştırın Get-AzLocation .

New-AzResourceGroup -Name myResourceGroup -Location eastus

Komut Login Succeeded döndürür.

App Service planınızı oluşturma

komutunu kullanarak New-AzAppServicePlan yeni bir App Service planı oluşturun.

Aşağıdaki örnek, myAppServicePlan adıyla PremiumV3 fiyatlandırma katmanında 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

komutunu kullanarak New-AzWebApp 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
  • Name parametresi web uygulamasının adını belirtir.
  • AppServicePlan parametresi App Service planının 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.

Uygulamayı aç

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

Windows App Service'i gösteren ekran görüntüsü.

App Service uygulaması her başlatıldığında, kapsayıcı kayıt defterinden verileri çekerek alır. Eğer görüntünüzü yeniden oluşturursanız, kapsayıcı kayıt defterinize yükleyin. 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.

Kaynakları temizleme

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

Remove-AzResourceGroup myResourceGroup

Bu hızlı başlangıçta, Microsoft Artifact Registry'den Azure App Service'e windows görüntüsünde bir ASP.NET uygulaması dağıtmayı öğreneceksiniz.

Azure App Service , Windows üzerinde Internet Information Services (IIS) üzerinde çalışan önceden tanımlanmış uygulama yığınları sağlar. Bu ö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ştiriciler, kapsayıcılı uygulamalara Windows işlevselliğine tam erişim vermek için özel kapsayıcılar kullanabilir.

Önkoşullar

Azure'a bağlanma

Azure hesabınızda oturum açın. az login komutunu kullanın ve istemi izleyin:

az login

Kaynak grubu oluşturma

komutunu kullanarak az group create 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 myResourceGroup konumunda eastus adlı bir kaynak grubu oluşturur. App Service için desteklenen tüm konumları görmek için komutunu çalıştırın az appservice list-locations .

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, myAppServicePlan adlı bir App Service planını, P1V3 fiyatlandırma katmanında (--sku P1V3) oluşturur.

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

Not (Hatırlatma/Not)

"Bu komutun davranışı şu uzantı tarafından değiştirildi: appservice-kube" hatasıyla karşılaşırsanız uzantıyı appservice-kube kaldırın.

Web uygulamanızı oluşturma

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

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Name parametresi web uygulamasının adını belirtir.
  • AppServicePlan parametresi App Service planının 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.

Uygulamayı aç

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

Windows App Service'i gösteren ekran görüntüsü.

App Service uygulaması her başlatıldığında, kapsayıcı kayıt defterinden verileri çekerek alır. Eğer görüntünüzü yeniden oluşturursanız, kapsayıcı kayıt defterinize yükleyin. 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.

Kaynakları temizleme

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

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