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.
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 komutu kullandığınızda, kapsayıcı uygulamanızın dakikalar içinde çalışır duruma gelip çalışmasını sağlayabilirsiniz.
Komut, yerel kaynak kodu veya GitHub deposu sağladığınızda bir kapsayıcı görüntüsü derleyip Azure Container Registry'ye gönderebilir. GitHub deposundan çalışırken, GitHub deponuza değişiklikleri kaydettiğinizde, komut otomatik olarak yeni bir kapsayıcı imajı oluşturan ve gönderen bir GitHub Actions iş akışı oluşturur.
Bu makalede mevcut bir görüntüden, yerel kaynak kodundan ve GitHub deposundan kapsayıcı uygulaması dağıtmak için komutunun nasıl kullanılacağı gösterilmektedir.
Önkoşullar
| Gereksinim | Yönergeler |
|---|---|
| Azure hesabı | Hesabınız yoksa ücretsiz bir hesap oluşturun. Azure aboneliğinizin Katkıda Bulunan veya Sahip rolüne sahip olması gerekir. Ayrıntılı bilgi için bkz. Azure portalını kullanarak Azure rolleri atama. |
| Azure Komut Satırı Arayüzü (CLI) | Azure CLI’yi yükleyin. |
| GitHub hesabı | GitHub deposunda görüntü kullanmak istiyorsanız ücretsiz bir GitHub hesabına kaydolun. |
| Yerel kaynak kodu | Yerel kaynak kodundan bir görüntü oluşturmak istiyorsanız kodunuzu yerel bir dizine yerleştirin. |
| Mevcut bir görüntü | Var olan bir görüntüyü kullanmak istiyorsanız kayıt defteri sunucunuzu, görüntü adınızı ve etiketinizi not alın. Özel kayıt defteri kullanıyorsanız, kimlik bilgilerinizi de not edin. |
Mevcut kaynakları kullanma
Komut up kaynak oluşturabilir veya aşağıdakiler dahil olmak üzere mevcut kaynakları kullanabilir:
- Bir kaynak grubu.
- Container Registry.
- Container Apps ortamı ve Log Analytics çalışma alanı.
- Kapsayıcı uygulamanız.
Container Apps ortamını özelleştirmeniz gerekiyorsa, önce komutunu kullanarak az containerapp env create ortamınızı oluşturun ve özelleştirin. Komutu çalıştırdığınızda up, özelleştirilmiş ortamı belirtmek için --environment seçeneğini kullanın.
Mevcut bir ortamı belirtmezseniz, up komut kaynak grubunuzda bir ortam arar. Komut bir ortam bulursa, bu ortamı kullanır. Komut bir ortam bulamazsa Log Analytics çalışma alanı içeren bir ortam oluşturur.
Komut ve seçenekleri hakkında az containerapp up daha fazla bilgi için bkz az containerapp up. .
Azure CLI ortamınızı ayarlama
Azure'da oturum açmak için Azure CLI'yi kullanın.
az loginAzure CLI için Container Apps uzantısını yükleyin.
az extension add --name containerapp --upgradeAd alanını
Microsoft.Appkaydedin.az provider register --namespace Microsoft.AppSağlayıcıyı
Microsoft.OperationalInsightsLog 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ım yaparsanız, kimlik bilgilerinizi , --registry-serverve --registry-username seçeneklerini kullanarak --registry-passwordsağlamanız gerekir.
Mevcut bir görüntüden kapsayıcı uygulaması dağıtmak için aşağıdaki örnek kodu kullanabilirsiniz. Komutu çalıştırmadan önce köşeli ayraç içine alınmış yer tutucuları değerlerinizle değiştirin.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
Bu 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.
- Hedef bağlantı noktası belirtilen değere
ingressayarlanmış şekilde kapsayıcı uygulamasınınexternaldeğerini olarak ayarlar.
Kapsayıcı uygulamasını yeniden dağıtmak için komutunu da 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 --resource-group seçeneklerinin --environment özgün dağıtımdaki 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. Kayıt defteri belirtmezseniz, komut Container Registry'de bir kayıt defteri oluşturur.
komutu dockerfile ile veya dockerfile olmadan görüntüyü derleyebilir. Dockerfile kullanmayan derlemelerde aşağıdaki diller desteklenir:
- .NET
- Node.js
- PHP
- Python
Yerel kaynak kodundan bir kapsayıcı uygulaması dağıtmak için aşağıdaki örnek kodu kullanabilirsiniz:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Bu komut aşağıdaki eylemleri gerçekleştirir:
- Bir kaynak grubu oluşturur.
- Bir ortam ve Log Analytics çalışma alanı oluşturur.
- 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.
Dockerfile yönergesini içerdiğinde EXPOSEup , komut Dockerfile içindeki 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.
Komut, Bulut Derleme aracısını beklediğini ancak yanıt vermeyi durdurduğunu bildirirse, sorunun kaynağı GitHub geçici hatası olabilir. Durumu çözmek için komutunu yeniden çalıştırın.
Bir hata varsa, daha fazla bilgi alma 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.
az containerapp up komutunu kullanarak kapsayıcı uygulamanızı güncellenmiş bir görüntüyle yeniden dağıtmak için --resource-group ve --environment seçeneklerini ekleyin. Kapsayıcı uygulamasını yerel kaynak kodundan yeniden dağıtmak için aşağıdaki adımları izleyin:
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. Kayıt defteri belirtmezseniz, komut Container Registry'de bir kayıt defteri oluşturur.
Görüntüyü oluşturmak için bir Dockerfile gereklidir. Dockerfile yönergesini içerdiğinde EXPOSE , komut Dockerfile içindeki bilgileri kullanarak kapsayıcı uygulamasının giriş ve hedef bağlantı noktasını yapılandırır.
GitHub deposundan kapsayıcı uygulaması dağıtmak için aşağıdaki örnek kodu kullanabilirsiniz:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--ingress external
Bu komut aşağıdaki eylemleri gerçekleştirir:
- Bir kaynak grubu oluşturur.
- Bir ortam ve Log Analytics çalışma alanı oluşturur.
- 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.
Hizmet sorumlusu oluşturulamadığı için komut başarısız olursa Azure'da el ile bir hizmet sorumlusu oluşturabilirsiniz. Ardından bu komutla ilgili bilgileri iletebilirsiniz:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--service-principal-client-id "$SERVICE_PRINCIPAL_CLIENT_ID" \
--service-principal-client-secret "$SERVICE_PRINCIPAL_CLIENT_SECRET" \
--service-principal-tenant-id "$AZURE_TENANT_ID"
--ingress external
Dockerfile üzerinden girişi yapılandırırsanız veya uygulamanız giriş gerektirmezse, seçeneğini atlayabilirsiniz --ingress .
komutu up bir GitHub Actions iş akışı oluşturur. Sonuç olarak, komutun yeniden çalıştırılması birden çok iş akışı oluşturmanın istenmeyen etkisine sahiptir. Değişiklikleri uygulamanızın görüntüsüne dağıtmak istiyorsanız, komutu yeniden çalıştırmak yerine değişiklikleri GitHub deponuza gönderin. GitHub iş akışı, deponuzdaki değişiklikleri otomatik olarak algılar ve ardından uygulamanızı derleyip dağıtır. İş akışını değiştirmek için GitHub'da iş akışı dosyasını düzenleyin.
Kapsayıcı uygulama ayarlarını yapılandırma
komutu, az containerapp up öncelikli olarak varsayılan ayarları kullanan kapsayıcı uygulamaları oluşturmak ve dağıtmak için kolaylaştırılmış bir yol sağlar. Ancak, komutunu kullandıktan up sonra, daha gelişmiş ayarlar yapılandırmak istiyorsanız aşağıdakiler gibi diğer Azure CLI komutlarını çalıştırmanız gerekir:
- Dağıtılmış Uygulama Çalışma Zamanı (Dapr):
az containerapp dapr enable - Sır -larını:
az containerapp secret set - Aktarım protokolleri:
az containerapp ingress update
Kapsayıcı uygulamanız için kaynak veya ölçeklendirme ayarları gibi diğer ayarları özelleştirmek istiyorsanız, önce kapsayıcı uygulamanızı dağıtmak için komutunu kullanın up . Ardından bu ayarları değiştirmek için komutunu kullanın az containerapp update . Komut az containerapp up , komutun kısaltması az containerapp update değildir.