Öğretici: Azure kapsayıcı kayıt defteri oluşturma ve kapsayıcı görüntüsü gönderme
Bu öğretici, üç bölümden oluşan bir serinin ikinci bölümüdür. Öğreticinin birinci bölümünde, Node.js web uygulaması için bir Docker kapsayıcı görüntüsü oluşturuldu. Bu öğreticide, görüntüyü Azure Container Registry’ye göndereceksiniz. Henüz kapsayıcı görüntüsünü oluşturmadıysanız Öğretici 1 - Kapsayıcı görüntüsü oluşturma bölümüne geri dönün.
Azure Container Registry sizin Azure’daki özel Docker kayıt defterinizdir. Bu öğreticide, serinin iki. bölümü:
- Azure CLI ile Azure Container Registry örneği oluşturma
- Azure kapsayıcı kayıt defteriniz için bir kapsayıcı görüntüsü etiketleyeceksiniz
- Görüntüyü kayıt defterinize yükleyeceksiniz
Serinin son öğreticisi olan sonraki makalede, özel kayıt defterinizdeki kapsayıcıyı Azure Container Instances’a dağıtacaksınız.
Başlamadan önce
Bu öğreticiyi tamamlamak için aşağıdaki gereksinimleri karşılamanız gerekir:
Azure CLI: Yerel bilgisayarınızda Azure CLI 2.0.29 veya sonraki bir sürümü yüklenmiş olmalıdır. Sürümü bulmak için az --version
komutunu çalıştırın. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI’yı yükleme.
Docker: Bu öğreticide kapsayıcılar, kapsayıcı görüntüleri ve temel docker
komutları gibi temel Docker kavramları hakkında bilgi sahibi olduğunuz varsayılmıştır. Docker ve kapsayıcı temel bilgileri ile ilgili giriş yapmak için Docker’a genel bakış bölümüne bakın.
Docker: Bu öğreticiyi tamamlamak için Docker'ın yerel olarak yüklü olması gerekir. Docker, macOS, Windows ve Linux üzerinde Docker ortamını yapılandıran paketler sağlar.
Önemli
Azure Cloud shell, Docker programını içermediğinden bu öğreticiyi tamamlamak için yerel bilgisayarınıza hem Azure CLI’yi hem de Docker Altyapısı’nı yüklemeniz gerekir. Bu öğretici için Azure Cloud Shell kullanamazsınız.
Azure kapsayıcı kayıt defteri oluşturma
Kapsayıcı kayıt defterinizi oluşturmadan önce bunun dağıtılacağı bir kaynak grubu gerekir. Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal koleksiyondur.
az group create komutuyla bir kaynak grubu oluşturun. Aşağıdaki örnekte, eastus bölgesinde myResourceGroup adlı bir kaynak grubu oluşturulur:
az group create --name myResourceGroup --location eastus
Kaynak grubunu oluşturduktan sonra az acr create komutuyla bir Azure kapsayıcı kayıt defteri oluşturun. Kapsayıcı kayıt defteri adı Azure’da benzersiz olmalı ve 5-50 arası alfasayısal karakter içermelidir. <acrName>
değerini kayıt defteriniz için benzersiz bir adla değiştirin:
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Mycontainerregistry082 adlı yeni bir Azure kapsayıcı kayıt defteri için kısmi çıkış aşağıda verilmiştir:
{
"creationDate": "2020-07-16T21:54:47.297875+00:00",
"id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
"location": "eastus",
"loginServer": "mycontainerregistry082.azurecr.io",
"name": "mycontainerregistry082",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Bu öğreticinin geri kalan aşamalarında, bu adımda seçtiğiniz kapsayıcı kayıt defteri adı için yer tutucu olarak <acrName>
kullanılmaktadır.
Kapsayıcı kayıt defterinde oturum açma
Görüntü göndermeden önce, Azure Container Registry örneğinizde oturum açmanız gerekir. İşlemi tamamlamak için az acr login komutunu kullanın. Oluşturduğunuzda, kapsayıcı kayıt defteri için seçtiğiniz benzersiz adı sağlamanız gerekir.
az acr login --name <acrName>
Örnek:
az acr login --name mycontainerregistry082
Komut tamamlandığında Login Succeeded
döndürülür:
Login Succeeded
Kapsayıcı görüntüsünü etiketleme
Azure Container Registry gibi bir özel kayıt defterine kapsayıcı görüntüsü göndermek için önce görüntüyü kayıt defterinin oturum açma sunucusunun tam adıyla etiketlemeniz gerekir.
İlk olarak Azure kapsayıcı kayıt defteriniz için tam oturum açma sunucu adını alın. Aşağıdaki az acr show komutunu çalıştırın ve <acrName>
değerini, yeni oluşturduğunuz kayıt defterinin adıyla değiştirin:
az acr show --name <acrName> --query loginServer --output table
Örneğin, kayıt defterinizin adı mycontainerregistry082 ise:
az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io
Şimdi docker images komutunu kullanarak yerel görüntülerinizin listesini görüntüleyin:
docker images
Makinenizdeki diğer görüntülerle birlikte, önceki öğreticide derlediğiniz aci-tutorial-app görüntüsünü görmeniz gerekir:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
aci-tutorial-app görüntüsünü kapsayıcı kayıt defterinizin oturum açma sunucusuyla etiketleyin. Ayrıca görüntü sürüm numarasını belirtmek için görüntü adının sonuna :v1
etiketini ekleyin. <acrLoginServer>
değerini, az önce çalıştırdığınız az acr show komutunun sonucuyla değiştirin.
docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1
Etiketleme işlemini doğrulamak için tekrar docker images
komutunu çalıştırın:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app v1 5c745774dfa9 7 minutes ago 68.1 MB
Azure Container Registry’ye görüntü gönderme
Aci-tutorial-app görüntüsünü özel kayıt defterinizin tam oturum açma sunucusu adıyla etiketlediğinize göre, docker push komutuyla görüntüyü kayıt defterine gönderebilirsiniz. <acrLoginServer>
değerini, önceki adımda aldığınız tam oturum açma sunucusu adıyla değiştirin.
docker push <acrLoginServer>/aci-tutorial-app:v1
push
işlemi, internet bağlantınıza bağlı olarak birkaç saniye ile birkaç dakika arasında sürebilir ve çıktı şuna benzer:
docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576
Azure Container Registry’deki görüntüleri listeleme
Gönderdiğiniz görüntünün aslında Azure kapsayıcı kayıt defterinizde olduğunu doğrulamak için, az acr repository list komutunu kullanarak kayıt defterinizdeki görüntüleri listeleyin. <acrName>
komutunu, kapsayıcı kayıt defterinizin adıyla değiştirin.
az acr repository list --name <acrName> --output table
Örnek:
az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app
Belirli bir görüntünün etiketlerini görmek için, az acr repository show-tags komutunu kullanın.
az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table
Aşağıdakine benzer bir çıktı görmeniz gerekir:
--------
v1
Sonraki adımlar
Bu öğreticide, Azure Container Instances ile kullanım için bir Azure kapsayıcı kayıt defteri hazırladınız ve bu kayıt defterine bir kapsayıcı görüntüsü gönderdiniz. Aşağıdaki adımlar tamamlandı:
- Azure CLI ile Azure Container Registry örneği oluşturma
- Azure Container Registry için bir kapsayıcı görüntüsü etiketlendi
- Azure Container Registry’ye görüntü yüklendi
Azure Container Instances kullanarak Azure’a kapsayıcıyı dağıtma hakkında bilgi edinmek için sonraki öğreticiye geçin:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin