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

Azure Container Registry, kapsayıcı görüntülerini ve ilgili yapıtları oluşturmaya, depolamaya ve yönetmeye yönelik özel bir kayıt defteri hizmetidir. Bu hızlı başlangıçta, Azure CLI ile bir Azure kapsayıcı kayıt defteri ö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 çekip çalıştırın.

Bu hızlı başlangıç için Azure CLI'yi çalıştırmanız gerekir (sürüm 2.0.55 veya üzeri önerilir). 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 edinen geliştiriciler için maliyet açısından iyileştirilmiş bir seçenek olan Temel kayıt defteri oluşturacaksınız. Kullanılabilir hizmet katmanlarıyla ilgili ayrıntılar için bkz . Kapsayıcı kayıt defteri hizmet katmanları.

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

az acr create --resource-group myResourceGroup \
  --name mycontainerregistry --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/mycontainerregistry",
  "location": "eastus",
  "loginServer": "mycontainerregistry.azurecr.io",
  "name": "mycontainerregistry",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Tam kayıt defteri adı (tümü küçük harf) olan çıktıyı not loginServer edin. Bu hızlı başlangıcın <registry-name> geri kalanında kapsayıcı kayıt defteri adı için bir yer tutucu ve <login-server> kayıt defterinin oturum açma sunucusu adı için bir yer tutucudur.

İpucu

Bu hızlı başlangıçta, Azure Container Registry hakkında bilgi edinen geliştiriciler için maliyet açısından iyileştirilmiş bir seçenek olan Temel kayıt defteri oluşturacaksınız. Daha fazla 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'lar) 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çmanız gerekir. Bunu yapmak için az acr login komutunu kullanın. Azure CLI ile oturum açarken yalnızca kayıt defteri kaynak adını belirtin. Tam oturum açma sunucusu 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 yerel kapsayıcı görüntüleriniz yoksa, mevcut bir genel görüntüyü çekmek için aşağıdaki docker çekme komutunu çalıştırın. Bu örnekte, görüntüyü Microsoft Container Registry'den çekin hello-world .

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ıyla etiketlemeniz gerekir. Oturum açma sunucusu adı registry-name.azurecr.io> biçimindedir< (tümü küçük harfle yazılmalı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, görüntüyü kayıt defteri örneğine göndermek için docker push komutunu kullanın. değerini kayıt defteri örneğinizin oturum açma sunucusu adıyla değiştirin <login-server> . Bu örnek, görüntüyü içeren hello-world deposunu hello-world:v1 oluşturur.

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

Görüntüyü kapsayıcı kayıt defterinize gönderdikten sonra görüntüyü yerel Docker ortamınızdan kaldırın hello-world:v1 . (Bu docker rmi komutunun görüntüyü Azure kapsayıcı kayıt defterinizdeki 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 örnekte kayıt defterinizdeki depolar listelenir:

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

Çıkış:

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

Aşağıdaki örnek hello-world deposundaki etiketleri listeler.

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

Çıkış:

Result
--------
v1

Kayıt defterinden görüntü çalıştırma

Artık docker run komutunu kullanarak kapsayıcı görüntüsünü kapsayıcı kayıt defterinizden çekip çalıştırabilirsinizhello-world:v1:

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 olmadığında az group delete komutunu kullanarak kaynak grubunu, kapsayıcı kayıt defterini ve burada depolanan kapsayıcı görüntülerini kaldırabilirsiniz.

az group delete --name myResourceGroup

Sonraki adımlar

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