Aracılığıyla paylaş


Azure'da kapsayıcılı Python web uygulaması oluşturma

Öğ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.

Azure'daki Öğretici - Kapsayıcılı Python Uygulamasında kullanılan hizmetlerin ekran görüntüsü ve bulut içinde derleme yolu vurgulanmış.

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.

  1. 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 Standard
    

    Komutun 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.

  2. 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_NAME
    

    Komut, 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 command gerekli 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.

  1. Konsolunda, bu öğretici serisinin 2. bölümünden kopyalanmış deponuzun kök klasörüne gidin.

  2. 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.git
    

    Komutun 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.

  3. 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
    

Sonraki adım