Öğ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.