Hızlı başlangıç: Azure CLı kullanarak özel kapsayıcı kayıt defteri oluşturma

Azure Container Registry, kapsayıcı görüntülerini ve ilgili yapıları oluşturmak, depolamak ve yönetmek için özel bir kayıt defteri hizmetidir. Bu hızlı başlangıçta Azure CLı ile bir Azure Container Registry örneği oluşturacaksınız. Ardından, Docker komutlarını kullanarak kayıt defterine bir kapsayıcı görüntüsü gönderin ve son olarak görüntüyü Kayıt defterinizden çekin ve çalıştırın.

Bu hızlı başlangıç, Azure CLı 'yi (sürüm 2.0.55 veya üzeri önerilir) çalıştırıyor olmanızı gerektirir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Ayrıca sisteminizde yerel olarak Docker yüklü olması gerekir. Docker macOS, Windows veya Linux'ta Docker'ı kolayca yapılandırmanızı sağlayan paketler sağlar.

Azure Cloud Shell gerekli tüm Docker bileşenlerini (dockerd daemon) içermediğinden, bu hızlı başlangıçta Cloud Shell’i kullanamazsınız.

Kaynak grubu oluşturma

az group create komutuyla bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

az group create --name myResourceGroup --location eastus

Kapsayıcı kayıt defteri oluşturma

Bu hızlı başlangıçta, Azure Container Registry hakkında bilgi edinmek için uygun maliyetli bir seçenek olan temel bir kayıt defteri oluşturursunuz. Kullanılabilir hizmet katmanları hakkında daha fazla bilgi için bkz. kapsayıcı kayıt defteri hizmet katmanları.

az act create komutunu kullanarak bir ACR örneği oluşturun. Kaynak defteri adı Azure’da benzersiz olmalı ve 5-50 arası alfasayısal karakter içermelidir. Aşağıdaki örnekte myContainerRegistry007 komutu kullanılmıştır. Bunu benzersiz bir değerle güncelleştirin.

az acr create --resource-group myResourceGroup \
  --name myContainerRegistry007 --sku Basic

Kayıt defteri oluşturulduğunda çıkış aşağıdakilere benzer:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry007",
  "location": "eastus",
  "loginServer": "mycontainerregistry007.azurecr.io",
  "name": "myContainerRegistry007",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

loginServerTam kayıt defteri adı (tümü küçük harf) olan çıktıda konusuna göz atın. Bu hızlı başlangıç boyunca, <registry-name> kapsayıcı kayıt defteri adı için bir yer tutucudur ve <login-server> kayıt defterinin oturum açma sunucusu adı için bir yer tutucudur.

İpucu

Bu hızlı başlangıçta, geliştiriciler için maliyet için iyileştirilmiş bir seçenek olan temel kayıt defteri oluşturarak Azure Container Registry. Daha yüksek depolama ve görüntü aktarım hızı için diğer katmanları ve özel uç nokta kullanarak bağlantı gibi özellikleri seçin. Kullanılabilir hizmet katmanları (SKU) hakkında ayrıntılı bilgi için bkz. Kapsayıcı kayıt defteri hizmet katmanları.

Kayıt defterinde oturum açma

Kapsayıcı görüntülerini göndermeden ve çekmeden önce, kayıt defterinde oturum açmalısınız. Bunu yapmak için az acr login komutunu kullanın. Azure CLı ile oturum açarken yalnızca kayıt defteri kaynak adını belirtin. Tam olarak nitelenmiş oturum açma sunucu adını kullanmayın.

az acr login --name <registry-name>

Örnek:

az acr login --name mycontainerregistry

Bu komut tamamlandığında Login Succeeded iletisi döndürülür.

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

Azure Container kayıt defterine görüntü gönderebilmeniz için önce bir görüntünüz olmalıdır. Henüz herhangi bir yerel kapsayıcı görüntünüz yoksa, var olan bir ortak görüntüyü çekmek için aşağıdaki Docker Pull komutunu çalıştırın. Bu örnekte, hello-world görüntüyü Microsoft Container Registry çekin.

docker pull mcr.microsoft.com/hello-world

Bir görüntüyü Kayıt defterinize gönderebilmeniz için önce kayıt defteri oturum açma sunucunuzun tam adı ile etiketlemelisiniz. Oturum açma sunucusu adı <registry-name> . azurecr.io biçimindedir (tümü küçük harf olmalıdır), örneğin, mycontainerregistry.azurecr.io.

Görüntüyü docker tag komutunu kullanarak etiketleyin. <login-server> değerini, ACR örneğinizin sunucu adıyla değiştirin.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Örnek:

docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1

Son olarak, Docker Push kullanarak görüntüyü kayıt defteri örneğine gönderin. <login-server>Kayıt defteri örneğinizin oturum açma sunucusu adıyla değiştirin. Bu örnek, görüntüyü içeren Merhaba-Dünya deposunu oluşturur hello-world:v1 .

docker push <login-server>/hello-world:v1

Görüntüyü kapsayıcı Kayıt defterinize gönderdikten sonra, hello-world:v1 görüntüyü yerel Docker ortamınızdan kaldırın. (Bu Docker rmi komutunun, görüntüyü Azure Container Registry 'nizin Hello-World deposundan kaldırmadığını unutmayın.)

docker rmi <login-server>/hello-world:v1

Kapsayıcı görüntülerini listeleme

Aşağıdaki örnek, kayıt defterinizde bulunan depoları listeler:

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

Çıkış:

Result
----------------
hello-world

Aşağıdaki örnekte, Merhaba-Dünya deposundaki Etiketler listelenmektedir.

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Çıkış:

Result
--------
v1

Görüntüyü kayıt defterinden Çalıştır

Şimdi hello-world:v1 Docker Runkullanarak kapsayıcı Kayıt defterinizden kapsayıcı görüntüsünü çekebilir ve çalıştırabilirsiniz:

docker run <login-server>/hello-world:v1  

Örnek çıktı:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Kaynakları temizleme

Artık gerekli değilse, az Group Delete komutunu kullanarak kaynak grubunu, kapsayıcı kayıt defterini ve orada depolanan kapsayıcı görüntülerini kaldırabilirsiniz.

az group delete --name myResourceGroup

Sonraki adımlar

Bu hızlı başlangıçta Azure CLı ile bir Azure Container Registry oluşturdunuz, kayıt defterine bir kapsayıcı görüntüsü gönderdi ve görüntüyü kayıt defterinden çekmiş ve çalıştırdınız. ACR 'ye daha ayrıntılı bir bakış için Azure Container Registry öğreticilerine geçin.