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:
- Dapr:
az containerapp dapr enable
- Sır -larını:
az containerapp secret set
- Aktarım protokolleri:
az containerapp ingress update
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
Azure CLI ile Azure'da oturum açın.
az login
Ardından CLI için Azure Container Apps uzantısını yükleyin.
az extension add --name containerapp --upgrade
Geçerli uzantı veya modül yüklendikten sonra ad alanını
Microsoft.App
kaydedin.az provider register --namespace Microsoft.App
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-username
ve --registry-password
seçeneklerini kullanarak --registry-server
sağ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.
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:
- 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.
- Kapsayıcı görüntüsünü oluşturur (varsa Dockerfile'ı kullanarak).
- Görüntüyü kayıt defterine gönderir.
- 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.
Kaynak kodunda değişiklik yapın.
Ş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:
- 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:
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.