Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Öğretici serisinin bu bölümünde Docker'ı yerel olarak yüklemeden doğrudan Azure Container Registry'de kapsayıcılı python web uygulaması oluşturmayı öğreneceksiniz. Docker görüntüsünü Azure'da oluşturmak genellikle görüntüyü yerel olarak oluşturup Azure Container Registry'ye göndermekten daha hızlı ve kolaydır. Ayrıca bulut tabanlı görüntü oluşturma, Docker'ın geliştirme ortamınızda çalışması gereksinimini ortadan kaldırır.
App Service, kapsayıcılı web uygulamalarını çalıştırmanıza ve Docker Hub, Azure Container Registry ve Visual Studio Team Services'ın sürekli tümleştirme/sürekli dağıtım (CI/CD) özellikleri aracılığıyla dağıtmanıza olanak tanır. Bu makale, Bir Python web uygulamasını Azure App Service'e kapsayıcılı hale getirmek ve dağıtmak hakkında 5 bölümden oluşan öğretici serisinin 3. bölümüdür. Öğreticinin bu bölümünde Azure'da kapsayıcılı Python web uygulamasını oluşturmayı öğreneceksiniz.
Azure App Service, Docker Hub, Azure Container Registry ve Azure DevOps gibi platformlardan CI/CD işlem hatlarını kullanarak kapsayıcılı web uygulamaları dağıtmanıza ve çalıştırmanıza olanak tanır. Bu makale, 5 bölümden oluşan bir öğretici serisinin 3. bölümüdür.
Bu öğretici serisinin 2. bölümünde kapsayıcı görüntüsünü yerel olarak oluşturup çalıştırmıştınız. Buna karşılık, öğreticinin bu bölümünde aynı Python web uygulamasını doğrudan Azure Container Registry'de bir Docker görüntüsü olarak oluşturur (kapsayıcılaştırırsınız). Görüntüyü Azure'da oluşturmak genellikle yerel olarak derlemekten ve ardından görüntüyü bir kayıt defterine göndermekten daha hızlı ve kolaydır. Ayrıca bulutta derleme yapmak için Docker'ın geliştirme ortamınızda çalışması gerekmez.
Docker görüntüsü Azure Container Registry'ye eklendikten sonra Azure App Service'e dağıtılabilir.
Bu hizmet diyagramı, bu makalede ele alınan bileşenleri vurgular.
Bir Azure Container Registry oluşturma
Kullanmak istediğiniz mevcut bir Azure Container Registry'niz varsa, bu sonraki adımı atlayın ve sonraki adıma geçin. Aksi takdirde, Azure CLI kullanarak yeni bir Azure Container Registry oluşturun.
Azure CLI komutları Azure Cloud Shell'de veya Azure CLI yüklü yerel geliştirme ortamınızda çalıştırılabilir.
Not
Bu kılavuz serisinin ikinci bölümündeki adları kullanın.
az acr create komutuyla bir Azure kapsayıcı kayıt defteri oluşturun.
#!/bin/bash # Use the resource group that you created in part 2 of this tutorial series. RESOURCE_GROUP_NAME='msdocs-web-app-rg' # REGISTRY_NAME must be unique within Azure and contain 5-50 alphanumeric characters. REGISTRY_NAME='msdocscontainerregistryname' echo "Creating Azure Container Registry $REGISTRY_NAME..." az acr create -g $RESOURCE_GROUP_NAME -n $REGISTRY_NAME --sku StandardKomutun JSON çıkışında değerini bulun
loginServer. Bu değer tam kayıt defteri adını (tümü küçük harfle) temsil eder ve kayıt defteri adını içerir.Yerel makinenizde Azure CLI kullanıyorsanız az acr login komutunu yürüterek kapsayıcı kayıt defterinde oturum açın.
az acr login -n $REGISTRY_NAMEKomut, tam nitelikli kayıt defteri adını oluşturmak için isme "azurecr.io" ekler. Başarılı olursa "Oturum Açma Başarılı" iletisini görürsünüz.
Not
Azure Cloud Shell'de az
acr login commandgerekli değildir çünkü kimlik doğrulaması Cloud Shell oturumunuz aracılığıyla otomatik olarak işlenir. Ancak, kimlik doğrulaması sorunlarıyla karşılaşırsanız yine de kullanabilirsiniz.
Azure Container Registry'de görüntü oluşturma
Kapsayıcı görüntüsünü çeşitli yaklaşımlarla doğrudan Azure'da oluşturabilirsiniz:
- Azure Cloud Shell, görüntüyü yerel ortamınızdan bağımsız olarak tamamen bulutta oluşturmanıza olanak tanır.
- Alternatif olarak VS Code'u veya Azure CLI'yı kullanarak Docker'ın yerel olarak çalıştırılmasına gerek kalmadan yerel kurulumunuzdan Azure'da oluşturabilirsiniz.
Azure CLI komutları, Azure CLI yüklü olarak yerel geliştirme ortamınızda veya Azure Cloud Shell'de çalıştırılabilir.
Konsolunda, bu öğretici serisinin 2. bölümünden kopyalanmış deponuzun kök klasörüne gidin.
az acr build komutunu kullanarak kapsayıcı görüntüsünü oluşturun.
az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest . # When using Azure Cloud Shell, run one of the following commands instead: # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git # az acr build -r $REGISTRY_NAME -g $RESOURCE_GROUP_NAME -t msdocspythoncontainerwebapp:latest https://github.com/Azure-Samples/msdocs-python-flask-container-web-app.gitKomutun son bağımsız değişkeni deponun tam yoludur. Azure Cloud Shell'de çalışırken Django örnek uygulaması ve https://github.com/Azure-Samples/msdocs-python-django-container-web-app.git Flask örnek uygulaması için kullanınhttps://github.com/Azure-Samples/msdocs-python-flask-container-web-app.git.
kapsayıcı görüntüsünün az acr repository list komutuyla oluşturulduğunu onaylayın.
az acr repository list -n $REGISTRY_NAME