az containerapp up komutuyla Azure Container Apps'i dağıtma

az containerapp up (veya up) komutu mevcut bir görüntüden, yerel kaynak kodundan veya GitHub deposundan Azure Container Apps'te uygulama dağıtmanın en hızlı yoludur. Bu tek komutla, kapsayıcı uygulamanızın dakikalar içinde çalışır duruma gelip çalışmasını sağlayabilirsiniz.

az containerapp up komutu, öncelikli olarak varsayılan ayarları kullanan kapsayıcı uygulamaları oluşturmanın ve dağıtmanın kolaylaştırılmış bir yoludur. Ancak, daha gelişmiş ayarları yapılandırmak için diğer CLI komutlarını çalıştırmanız gerekir:

Kapsayıcı uygulamanızın kaynak veya ölçeklendirme ayarlarını özelleştirmek için komutunu ve ardından az containerapp update komutunu kullanarak up bu ayarları değiştirebilirsiniz. Komut az containerapp up , komutun kısaltması az containerapp update değildir.

Komut up , aşağıdakiler dahil olmak üzere mevcut kaynakları oluşturabilir veya kullanabilir:

  • Kaynak grubu
  • Azure Container Registry
  • Container Apps ortamı ve Log Analytics çalışma alanı
  • Kapsayıcı uygulamanız

Komut, yerel kaynak kodu veya GitHub deposu sağladığınızda bir kapsayıcı görüntüsü derleyip Azure Container Registry'ye (ACR) gönderebilir. GitHub deposundan çalışırken, GitHub deponuza değişiklikleri kaydettiğinizde otomatik olarak yeni bir kapsayıcı görüntüsü derleyen ve gönderen bir GitHub Actions iş akışı oluşturur.

Container Apps ortamını özelleştirmeniz gerekiyorsa, önce komutunu kullanarak az containerapp env create ortamı oluşturun. Mevcut bir ortamı sağlamazsanız, up komut kaynak grubunuzda bir ortam arar ve bulunursa bu ortamı kullanır. Bulunamazsa Log Analytics çalışma alanına sahip bir ortam oluşturur.

Komut ve seçenekleri hakkında az containerapp up daha fazla bilgi edinmek için bkz az containerapp up. .

Önkoşullar

Gereksinim Yönergeler
Azure hesabı Hesabınız yoksa ücretsiz bir hesap oluşturun. Devam etmek için Azure aboneliğinde Katkıda Bulunan veya Sahip iznine sahip olmanız gerekir. Ayrıntılar için Bkz. Azure portalını kullanarak Azure rolleri atama.
GitHub Hesabı GitHub deposu kullanıyorsanız ücretsiz kaydolun.
Azure CLI Azure CLI’yi yükleyin.
Yerel kaynak kodu Yerel kaynak kodu kullanıyorsanız yerel bir kaynak kodu dizininiz olması gerekir.
Varolan Görüntü Mevcut bir görüntüyü kullanıyorsanız kayıt defteri sunucunuza, görüntü adınız ve etiketinize ihtiyacınız vardır. Özel kayıt defteri kullanıyorsanız kimlik bilgileriniz gerekir.

Ayarlama

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

    az login
    
  2. Ardından CLI için Azure Container Apps uzantısını yükleyin.

    az extension add --name containerapp --upgrade
    
  3. Geçerli uzantı veya modül yüklendikten sonra ad alanını Microsoft.App kaydedin.

    az provider register --namespace Microsoft.App
    
  4. Sağlayıcıyı Microsoft.OperationalInsights Azure İzleyici Log Analytics çalışma alanına kaydedin.

    az provider register --namespace Microsoft.OperationalInsights
    

Mevcut bir görüntüden dağıtma

Genel veya özel kapsayıcı kayıt defterinde var olan bir görüntüyü kullanan bir kapsayıcı uygulaması dağıtabilirsiniz. Özel bir kayıt defterinden dağıtıyorsanız, kimlik bilgilerinizi , --registry-usernameve --registry-password seçeneklerini kullanarak --registry-serversağlamanız gerekir.

Bu örnekte, az containerapp up komut aşağıdaki eylemleri gerçekleştirir:

  1. Bir kaynak grubu oluşturur.
  2. Bir ortam ve Log Analytics çalışma alanı oluşturur.
  3. Görüntüyü genel kayıt defterinden çeken bir kapsayıcı uygulaması oluşturur ve dağıtır.
  4. Kapsayıcı uygulamasının girişini belirtilen değere ayarlanmış bir hedef bağlantı noktasıyla dış olarak ayarlar.

Var olan bir görüntüden kapsayıcı uygulaması dağıtmak için aşağıdaki komutu çalıştırın. PLACEHOLDERS> değerini <değerlerinizle değiştirin.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Kapsayıcı uygulamasını yeniden dağıtmak için komutunu kullanabilirsiniz up . Yeni bir görüntüyle yeniden dağıtmak istiyorsanız, yeni bir görüntü belirtmek için seçeneğini kullanın --image . ve environment seçeneklerinin --resource-group özgün dağıtımla aynı değerlere ayarlandığından emin olun.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Yerel kaynak kodundan dağıtma

Yerel bir kaynaktan dağıtmak için komutunu kullandığınızda up kapsayıcı görüntüsü oluşturulur, bir kayıt defterine gönderilir ve kapsayıcı uygulaması dağıtılır. Sağlamazsanız Azure Container Registry'de kayıt defterini oluşturur.

komutu dockerfile ile veya dockerfile olmadan görüntüyü derleyebilir. Dockerfile olmadan derlemek için aşağıdaki diller desteklenir:

  • .NET
  • Node.js
  • PHP
  • Python

Aşağıdaki örnekte bir kapsayıcı uygulamasının yerel kaynak kodundan nasıl dağıtılacağı gösterilmektedir.

Örnekte, az containerapp up komut aşağıdaki eylemleri gerçekleştirir:

  1. Bir kaynak grubu oluşturur.
  2. Bir ortam ve Log Analytics çalışma alanı oluşturur.
  3. Azure Container Registry'de bir kayıt defteri oluşturur.
  4. Kapsayıcı görüntüsünü oluşturur (varsa Dockerfile'ı kullanarak).
  5. Görüntüyü kayıt defterine gönderir.
  6. Kapsayıcı uygulamasını oluşturur ve dağıtır.

Yerel kaynak kodundan bir kapsayıcı uygulaması dağıtmak için aşağıdaki komutu çalıştırın:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Dockerfile, EXPOSE yönergesini içerdiğinde up , komut Dockerfile'daki bilgileri kullanarak kapsayıcı uygulamasının giriş ve hedef bağlantı noktasını yapılandırır.

Dockerfile üzerinden girişi yapılandırırsanız veya uygulamanız giriş gerektirmezse, seçeneğini atlayabilirsiniz ingress .

Komutun çıktısı kapsayıcı uygulamasının URL'sini içerir.

Bir hata varsa, hata hakkında daha fazla bilgi edinme seçeneğiyle --debug komutu yeniden çalıştırabilirsiniz. Derleme dockerfile olmadan başarısız olursa Dockerfile eklemeyi ve komutu yeniden çalıştırmayı deneyebilirsiniz.

Komutunu kullanarak az containerapp up kapsayıcı uygulamanızı güncelleştirilmiş bir görüntüyle yeniden dağıtmak için ve --environment bağımsız değişkenlerini ekleyin--resource-group. Aşağıdaki örnekte bir kapsayıcı uygulamasının yerel kaynak kodundan nasıl yeniden dağıtılası gösterilmektedir.

  1. Kaynak kodunda değişiklik yapın.

  2. Şu komutu çalıştırın:

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

GitHub deposundan dağıtma

GitHub deposundan az containerapp up dağıtmak için komutunu kullandığınızda, kapsayıcı görüntüsünü oluşturan, bir kayıt defterine göndererek kapsayıcı uygulamasını dağıtan bir GitHub Actions iş akışı oluşturur. Komut, sağlamazsanız Azure Container Registry'de kayıt defterini oluşturur.

Görüntüyü oluşturmak için bir Dockerfile gereklidir. Dockerfile, EXPOSE yönergesini içerdiğinde, komut Dockerfile'daki bilgileri kullanarak kapsayıcı uygulamasının giriş ve hedef bağlantı noktasını yapılandırır.

Aşağıdaki örnekte GitHub deposundan bir kapsayıcı uygulamasının nasıl dağıtılacağı gösterilmektedir.

Örnekte, az containerapp up komut aşağıdaki eylemleri gerçekleştirir:

  1. Bir kaynak grubu oluşturur.
  2. Bir ortam ve Log Analytics çalışma alanı oluşturur.
  3. Azure Container Registry'de bir kayıt defteri oluşturur.
  4. Dockerfile kullanarak kapsayıcı görüntüsünü oluşturur.
  5. Görüntüyü kayıt defterine gönderir.
  6. Kapsayıcı uygulamasını oluşturur ve dağıtır.
  7. Kapsayıcı görüntüsünü oluşturmak ve gelecekteki değişiklikler GitHub deposuna gönderildiğinde kapsayıcı uygulamasını dağıtmak için bir GitHub Actions iş akışı oluşturur.

GitHub deposundan uygulama dağıtmak için aşağıdaki komutu çalıştırın:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GitHub repository URL> \
  --ingress external 

Dockerfile üzerinden girişi yapılandırırsanız veya uygulamanız giriş gerektirmezse, seçeneğini atlayabilirsiniz ingress .

up Komut bir GitHub Actions iş akışı oluşturduğundan, değişiklikleri uygulamanızın görüntüsüne dağıtmak için yeniden çalıştırmak, birden çok iş akışı oluşturmanın istenmeyen etkisine neden olur. Bunun yerine, değişiklikleri GitHub deponuza gönderin; GitHub iş akışı uygulamanızı otomatik olarak derleyip dağıtır. İş akışını değiştirmek için GitHub'da iş akışı dosyasını düzenleyin.

Sonraki adımlar