Bulutta Yerel Derleme paketi kullanarak uygulamadan görüntü oluşturma ve gönderme
Azure CLI komutuaz acr pack build
, Buildpacks'ten CLI aracını kullanarak pack
bir uygulama oluşturur ve görüntüsünü bir Azure kapsayıcı kayıt defterine gönderir. Bu özellik, dockerfile tanımlamak zorunda kalmadan uygulama kaynak kodunuzdan Node.js, Java ve diğer dillerde hızlı bir şekilde kapsayıcı görüntüsü oluşturma seçeneği sunar.
Bu makaledeki örnekleri çalıştırmak için Azure Cloud Shell'i veya Azure CLI'nın yerel yüklemesini kullanabilirsiniz. Yerel olarak kullanmak isterseniz sürüm 2.0.70 veya üzeri gereklidir. Sürümü bulmak için az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
Önemli
Bu özellik şu anda önizlemededir. Önizlemeler, ek kullanım koşullarını kabul etmeniz şartıyla kullanımınıza sunulur. Bu özelliğin bazı yönleri genel kullanıma açılmadan önce değişebilir.
Derleme komutunu kullanma
Cloud Native Buildpacks kullanarak bir kapsayıcı görüntüsü oluşturmak ve göndermek için az acr pack build komutunu çalıştırın. Az acr build komutu bir Dockerfile kaynağından ve ilgili koddan görüntü derleyip gönderirken, az acr pack build
doğrudan bir uygulama kaynak ağacı belirtirsiniz.
komutunu çalıştırırken az acr pack build
en azından aşağıdakileri belirtin:
- komutunu çalıştırdığınız azure kapsayıcı kayıt defteri
- Sonuçta elde edilen görüntü için bir resim adı ve etiketi
- Yerel dizin, GitHub deposu veya uzak tarball gibi ACR Görevleri için desteklenen bağlam konumlarından biri
- Uygulamanız için uygun bir Buildpack oluşturucu görüntüsünün adı. Azure Container Registry tarafından önbelleğe alınmadıysa, oluşturucu görüntüsünün parametresi kullanılarak çekilmesi
--pull
gerekir.
az acr pack build
, akışa alınan ve daha sonra almak üzere kaydedilen çalıştırma değişkenleri ve görev çalıştırma günlükleri de dahil olmak üzere ACR Görevleri komutlarının diğer özelliklerini destekler.
Örnek: Cloud Foundry oluşturucusu ile Node.js görüntüsü oluşturma
Aşağıdaki örnek, oluşturucuyu kullanarak Azure-Samples/nodejs-docs-hello-world deposundaki bir Node.js uygulamasından cloudfoundry/cnb:cflinuxfs3
kapsayıcı görüntüsü oluşturur.
az acr pack build \
--registry myregistry \
--image node-app:1.0 \
--pull --builder cloudfoundry/cnb:cflinuxfs3 \
https://github.com/Azure-Samples/nodejs-docs-hello-world.git
Bu örnek, etiketiyle 1.0
görüntüyü oluşturur node-app
ve myregistry kapsayıcı kayıt defterine gönderir. Bu örnekte, hedef kayıt defteri adı açıkça görüntü adına eklenmiştir. Belirtilmezse, kayıt defteri oturum açma sunucusu adı otomatik olarak görüntü adına eklenir.
Komut çıktısı, görüntüyü oluşturma ve gönderme işleminin ilerleme durumunu gösterir.
Görüntü başarıyla oluşturulduktan sonra docker ile çalıştırabilirsiniz( yüklüyse). Önce kayıt defterinizde oturum açın:
az acr login --name myregistry
Görüntüyü çalıştırın:
docker run --rm -p 1337:1337 myregistry.azurecr.io/node-app:1.0
localhost:1337
Örnek web uygulamasını görmek için sık kullandığınız tarayıcıda adresine gidin. Kapsayıcıyı durdurmak için basın [Ctrl]+[C]
.
Örnek: Heroku oluşturucusu ile Java görüntüsü oluşturma
Aşağıdaki örnek, oluşturucuyu kullanarak buildpack/sample-java-app deposundaki Java uygulamasından heroku/buildpacks:18
bir kapsayıcı görüntüsü oluşturur.
az acr pack build \
--registry myregistry \
--image java-app:{{.Run.ID}} \
--pull --builder heroku/buildpacks:18 \
https://github.com/buildpack/sample-java-app.git
Bu örnek, komutun java-app
çalıştırma kimliğiyle etiketlenmiş görüntüyü oluşturur ve myregistry kapsayıcı kayıt defterine gönderir.
Komut çıktısı, görüntüyü oluşturma ve gönderme işleminin ilerleme durumunu gösterir.
Görüntü başarıyla oluşturulduktan sonra docker ile çalıştırabilirsiniz( yüklüyse). Önce kayıt defterinizde oturum açın:
az acr login --name myregistry
Runid için görüntü etiketinizi değiştirerek görüntüyü çalıştırın:
docker run --rm -p 8080:8080 myregistry.azurecr.io/java-app:runid
localhost:8080
Örnek web uygulamasını görmek için sık kullandığınız tarayıcıda adresine gidin. Kapsayıcıyı durdurmak için basın [Ctrl]+[C]
.
Sonraki adımlar
ile az acr pack build
bir kapsayıcı görüntüsü derleyip gönderdikten sonra, bunu istediğiniz bir hedefe herhangi bir görüntü gibi dağıtabilirsiniz. Azure dağıtım seçenekleri, app service veya Azure Kubernetes Service'te çalıştırmayı içerir.
ACR Görevleri özellikleri hakkında daha fazla bilgi için bkz . ACR Görevleri ile kapsayıcı görüntüsü derlemelerini ve bakımını otomatikleştirme.