Aracılığıyla paylaş


Hızlı Başlangıç: Azure PowerShell 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 PowerShell'i yerel olarak kullanarak bir Azure Container Registry örneği oluşturacaksınız. Ardından Docker CLI'yı kullanarak bir hello-world kapsayıcı görüntüsü çekecek, hello-world kapsayıcı görüntüsünü etiketleyip yeni bir kapsayıcı görüntüsü oluşturacak, yeni kapsayıcı görüntüsünü kapsayıcı kayıt defterine gönderecek, yerel kapsayıcı görüntüsünü silecek ve son olarak görüntüyü kayıt defterinizden çekip çalıştıracaksınız.

Önkoşullar

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Bu hızlı başlangıç için Azure PowerShell modülü gerekir. Yüklü sürümünüzü belirlemek için Get-Module -ListAvailable Az komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure PowerShell Modülü yükleme.

Ayrıca sisteminizde yerel olarak Docker yüklü olması gerekir. Docker, macOS, Windows ve Linux sistemleri için 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.

Azure'da oturum açma

Connect-AzAccount komutuyla Azure aboneliğinizde oturum açın ve ekrandaki yönergeleri izleyin.

Connect-AzAccount

Kaynak grubu oluştur

Azure'da kimlik doğrulaması yaptıktan sonra New-AzResourceGroup ile bir kaynak grubu oluşturun. Kaynak grubu, Azure kaynaklarınızın dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Kapsayıcı kayıt defteri oluşturma

Ardından New-AzContainerRegistry komutuyla yeni kaynak grubunuzda bir kapsayıcı kayıt defteri oluşturun.

Kaynak defteri adı Azure’da benzersiz olmalı ve 5-50 arası alfasayısal karakter içermelidir. Aşağıdaki örnekte "mycontainerregistry" adlı bir kayıt defteri oluşturulur. Aşağıdaki komutta mycontainerregistry değerini değiştirin ve kayıt defterini oluşturmak için çalıştırın:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS

İpucu

Bu hızlı başlangıçta, çoğu Azure Container Registry iş akışı için yeterli olan bir Standart kayıt defteri oluşturacaksınız. Daha fazla depolama ve görüntü aktarım hızı ile özel uç nokta kullanarak bağlantı gibi özellikler için Premium fiyatlandırma planı seçeneği (SKU) kullanılabilir. Hizmet katmanları (SKU'lar) hakkında ayrıntılı bilgi için bkz. Azure Container Registry SKU özellikleri ve sınırları.

Kayıt defterinde oturum açma

Kapsayıcı görüntülerini göndermeden ve çekmeden önce Connect-AzContainerRegistry cmdlet'iyle kayıt defterinizde oturum açmanız gerekir. Aşağıdaki örnek, cmdlet'iyle Connect-AzAccount Azure'da kimlik doğrulaması yaparken oturum açtığınız kimlik bilgilerini kullanır.

Not

Aşağıdaki örnekte değeri $registry.Name , tam kayıt defteri adı değil kaynak adıdır.

Connect-AzContainerRegistry -Name $registry.Name

Bu komut tamamlandığında Login Succeeded 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 pull 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 docker etiketini kullanarak etiketlemeniz gerekir.

  • Etki Alanı Adı Etiketi (DNL) korumalı kayıt defterleri için benzersiz bir DNS adı karması içeren oturum açma sunucusu adı biçimi şeklindedirmycontainerregistry-abc123.azurecr.io.
  • DNL seçeneğiyle Unsecure oluşturulan kayıt defterleri için oturum açma sunucusu adı biçimi mycontainerregistry.azurecr.io şeklindedir.

Örneğin, Tenant Reuse DNL kapsamına sahip bir kayıt defteri oluşturursanız, oturum açma sunucusu, DNS adında bir karma ile mycontainerregistry-abc123.azurecr.io gibi görünebilir. DNL seçeneğiyle Unsecure bir kayıt defteri oluşturursanız, oturum açma sunucusu, karma olmadan mycontainerregistry.azurecr.io gibi görünür.

Kayıt defterinizin oturum açma sunucusuyla docker tag komutunu kullanarak görüntüyü etiketleyin. Bu hızlı başlangıç için hello-world görüntüsünü v1 ile etiketleyin.

DNL korumalı kayıt defteri için bir görüntüyü etiketlemeye yönelik örnek komut:

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

DNL olmayan bir kayıt defteri için bir görüntüyü etiketlemek için örnek komut:

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.

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

Görüntüyü kapsayıcı kayıt defterinize gönderdikten sonra docker rmi komutunu kullanarak görüntüyü yerel hello-world:v1 ortamınızdan kaldırın. Bu komut, görüntüyü Azure kapsayıcı kayıt defterinizdeki hello-world deposundan kaldırmaz.

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

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

Artık docker runhello-world:v1kapsayıcı görüntüsünü kapsayıcı kayıt defterinizden çekip çalıştırabilirsiniz:

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

Örnek çıkış:

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

Bu hızlı başlangıçta oluşturduğunuz kaynaklarla çalışmayı tamamladıktan sonra Remove-AzResourceGroup komutunu kullanarak kaynak grubunu, kapsayıcı kayıt defterini ve burada depolanan kapsayıcı görüntülerini kaldırın:

Remove-AzResourceGroup -Name myResourceGroup

Sonraki adımlar

Bu hızlı başlangıçta, Azure PowerShell'i yerel olarak kullanarak bir Azure Container Registry örneği oluşturdunuz, hello-world kapsayıcı görüntüsünü çektiniz, yeni bir kapsayıcı görüntüsü oluşturmak için hello-world görüntüsünü etiketlediyseniz, yeni kapsayıcı görüntüsünü kapsayıcı kayıt defterine ilettiniz, yerel kapsayıcı görüntüsünü sildiniz ve son olarak görüntüyü kayıt defterinizden çekip çalıştırdunuz. ACR'ye daha ayrıntılı bir bakış için Azure Container Registry öğreticilerine geçin.