az containerapp up komutuyla Azure Container Apps'i dağıtma
Makale
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.
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
Azure CLI ile Azure'da oturum açın.
Azure CLI
az login
Ardından CLI için Azure Container Apps uzantısını yükleyin.
Azure CLI
az extension add --name containerapp --upgrade
Geçerli uzantı veya modül yüklendikten sonra ad alanını Microsoft.App kaydedin.
Azure CLI
az provider register --namespace Microsoft.App
Sağlayıcıyı Microsoft.OperationalInsights Azure İzleyici Log Analytics çalışma alanına kaydedin.
Azure CLI
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:
Bir kaynak grubu oluşturur.
Bir ortam ve Log Analytics çalışma alanı oluşturur.
Görüntüyü genel kayıt defterinden çeken bir kapsayıcı uygulaması oluşturur ve dağıtır.
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.
Azure CLI
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.
Azure CLI
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:
Bir kaynak grubu oluşturur.
Bir ortam ve Log Analytics çalışma alanı oluşturur.
Azure Container Registry'de bir kayıt defteri oluşturur.
Yerel kaynak kodundan bir kapsayıcı uygulaması dağıtmak için aşağıdaki komutu çalıştırın:
Azure CLI
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.
Kaynak kodunda değişiklik yapın.
Şu komutu çalıştırın:
Azure CLI
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:
Bir kaynak grubu oluşturur.
Bir ortam ve Log Analytics çalışma alanı oluşturur.
Azure Container Registry'de bir kayıt defteri oluşturur.
Dockerfile kullanarak kapsayıcı görüntüsünü oluşturur.
Görüntüyü kayıt defterine gönderir.
Kapsayıcı uygulamasını oluşturur ve dağıtır.
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:
Azure CLI
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.
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Bir Docker görüntüsü oluşturmayı ve Azure Container Registry’de depolamayı ve daha sonra görüntüyü temel alan bir web uygulamasını dağıtmak için Azure App Service kullanmayı öğrenin.
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.