Öğretici: Azure Container Registry’yi dağıtma ve kullanma

Azure Container Registry (ACR), kapsayıcı görüntüleri için özel bir kayıt defteridir. Özel kapsayıcı kayıt defteri, uygulamalarınızı ve özel kodlarınızı güvenli bir şekilde derlemenizi ve dağıtmanızı sağlar. Yedi öğreticiden oluşan bu serinin ikinci kısmında, bir ACR örneği dağıtacak ve ona bir kapsayıcı görüntüsü göndereceksiniz. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:

  • Azure Container Registry (ACR) örneği oluşturma
  • ACR için kapsayıcı görüntüsü etiketleme
  • Görüntüyü ACR’ye yükleme
  • Kayıt defterinizdeki görüntüleri görüntüleme

Sonraki öğreticilerde, bu ACR örneği AKS'de bir Kubernetes kümesiyle tümleştirilmiştir ve görüntüden bir uygulama dağıtılır.

Başlamadan önce

Önceki öğreticide, basit bir Azure Voting uygulaması için kapsayıcı görüntüsü oluşturulacaktır. Azure Voting uygulaması görüntüsünü oluşturmadıysanız Öğretici 1 - Kapsayıcı görüntüleri oluştur’a dönün.

Bu öğretici için Azure CLI 2.0.53 veya sonraki bir sürümünü çalıştırmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Azure Container Registry oluşturma

Bir Azure Container Registry oluşturmak için önce bir kaynak grubuna ihtiyaç duyarsınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

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

az acr create komutuyla bir Azure Container Registry örneği oluşturun ve bir kayıt defteri adı belirleyin. Kaynak defteri adı Azure’da benzersiz olmalı ve 5-50 arası alfasayısal karakter içermelidir. Bu öğreticinin geri kalan aşamalarında, kapsayıcı kayıt defteri adı için yer tutucu olarak <acrName> kullanılacaktır. Kendi benzersiz kayıt defterinizin adını girin. Temel SKU, geliştirme amaçlı dağıtımlar için uygun maliyetli, depolama ve aktarım hızı açısından dengeli bir giriş noktasıdır.

az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

Kapsayıcı kayıt defterinde oturum açma

ACR örneğini kullanmak için oturum açmanız gerekir. az acr login komutunu kullanarak önceki adımda kapsayıcı kayıt defterine verdiğiniz benzersiz adı belirtin.

az acr login --name <acrName>

Komut, tamamlandıktan sonra Oturum Açma Başarılı iletisi döndürür.

Kapsayıcı görüntüsünü etiketleme

Mevcut yerel görüntülerinizin listesini görüntülemek için docker images komutunu kullanın:

docker images

Yukarıdaki komutun çıktısı geçerli yerel görüntülerinizi gösterir:

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        7 minutes ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                     python3.6           a16ce562e863        6 weeks ago         944MB

azure-vote-front kapsayıcı görüntüsünü ACR ile birlikte kullanmak için görüntünün, kayıt defterinizin oturum açma sunucusunun adresiyle etiketlenmesi gerekir. Bu etiket, görüntü kayıt defterine kapsayıcı görüntüleri gönderilirken kullanılır.

Oturum açma sunucusunun adresini almak için aşağıda gösterilen şekilde az acr list komutunu kullanın ve loginServer sorgusunu gerçekleştirin:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Şimdi yerel azure-vote-front görüntülerinizi kapsayıcı kayıt defterinin acrLoginServer adresiyle etiketlenin. Görüntü sürümünü belirtmek için görüntü adının sonuna :v1 ekleyin:

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1

Etiketlerin uygulandığını doğrulamak için docker images komutunu yeniden çalıştırın.

docker images

Böylece görüntü, ACR örneği adresi ve sürüm numarasıyla etiketlenmiş olur.

REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front    v1                  84b41c268ad9        16 minutes ago      944MB
mycontainerregistry.azurecr.io/azure-vote-front v1                  84b41c268ad9        16 minutes ago      944MB
mcr.microsoft.com/oss/bitnami/redis             6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                      python3.6           a16ce562e863        6 weeks ago         944MB

Kayıt defterine görüntü gönderme

Görüntünüz yerleşik ve etiketli olarak azure-vote-front görüntüsünü ACR örneğine itin. docker push komutunu kullanın ve görüntü adı olarak aşağıda gösterilen şekilde kendi acrLoginServer adresinizi belirtin:

docker push <acrLoginServer>/azure-vote-front:v1

Görüntünün ACR'ye gönderilmesi birkaç dakika sürebilir.

Kayıt defterindeki görüntüleri listeleme

ACR örneğinize gönderilen görüntülerin listesini döndürmek için az acr repository list komutunu kullanın. Aşağıda gösterilen şekilde kendi <acrName> değerinizi belirtin:

az acr repository list --name <acrName> --output table

Aşağıdaki örnek çıktıda azure-vote-front görüntüsünün kayıt defterinde kullanılabilir durumda olduğu gösterilmektedir:

Result
----------------
azure-vote-front

Belirli bir görüntünün etiketlerini görmek için aşağıdaki gibi az acr repository show-tags komutunu kullanın:

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

Aşağıdaki örnekte önceki adımda etiketlenen v1 görüntüsü gösterilmektedir:

Result
--------
v1

Artık özel bir Azure Container Registry örneğinde depolanmış olan bir kapsayıcı görüntünüz var. Bir sonraki öğreticide bu görüntüyü, ACR’den bir Kubernetes kümesine dağıtacaksınız.

Sonraki adımlar

Bu öğreticide, bir Azure Container Service oluşturduğunuz ve AKS kümesinde kullanılmak üzere bir görüntü gönderdiniz. Şunları öğrendiniz:

  • Azure Container Registry (ACR) örneği oluşturma
  • ACR için kapsayıcı görüntüsü etiketleme
  • Görüntüyü ACR’ye yükleme
  • Kayıt defterinizdeki görüntüleri görüntüleme

Azure’da Kubernetes kümesi dağıtmayla ilgili daha fazla bilgi edinmek için sonraki öğreticiye geçin.