Aracılığıyla paylaş


Hızlı Başlangıç: Azure portalını kullanarak Azure 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 portalı 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.

Kapsayıcı görüntüleriyle çalışmak üzere kayıt defterinde oturum açmak için bu hızlı başlangıç için Azure CLI'yı ç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 gerekiyorsa bkz. Azure CLI'yı yükleme.

Ayrıca, daemon'un çalıştığı yerel olarak Docker'ı yüklemiş olmanız gerekir. Docker, Herhangi bir Mac, Windowsveya Linux sisteminde Docker'ı kolayca yapılandıran paketler sağlar.

Azure'a Giriş Yap

Azure portalınaoturum açın.

Konteyner kayıt defteri oluşturma

Bir kaynak oluştur>Kapsayıcılar>Kapsayıcı Kayıt Defteri'ni seçin.

Portaldaki kapsayıcı kayıt defterine gidin

Kapsayıcı kayıt defteri adını ve SKU'yu yapılandırma

Temel bilgiler sekmesinde, Kaynak grubu değerlerini girin ve kayıt defteri adını . Azure içinde kayıt defteri adı benzersiz olmalıdır ve tire karakterlerine (-) izin verilmediği için 5-50 arası alfasayısal karakterden oluşmalıdır. Bu hızlı başlangıç için West US 2 konumunda myResourceGroup adlı yeni bir kaynak grubu oluşturun ve SKU için Standard seçeneğini seçin.

Portalda kapsayıcı kayıt defteri oluşturma

Farklı SKU seçenekleri hakkında daha fazla bilgi için bkz. Azure Container Registry SKU'ları.

Etki Alanı Adı Etiketi (DNL) yapılandırma

Etki Alanı Adı Etiketi (DNL) özelliği, kayıt defteri DNS adlarının alt etki alanı devralma saldırılarını engelleyerek güvenliği güçlendirir. Bu saldırılar, bir kayıt defteri silindiğinde ve başka bir varlık aynı kayıt defteri adını yeniden kullanarak kayıt defterini yeniden oluşturduğunda, aşağı akış referanslarının bu yeni oluşturulan kayıt defterinden geri çekilmesine neden olabilir.

DNL, kayıt defterine ait DNS adına benzersiz bir karma ekleyerek bunu giderir. Bu, aynı kayıt defteri adı başka bir varlık tarafından yeniden kullanılıyor olsa bile DNS adlarının benzersiz karma nedeniyle farklı olmasını sağlar. Bu, aşağı akış başvurularınızın yanlışlıkla diğer varlık tarafından yeniden oluşturulan kayıt defterine işaret etmelerini engeller.

Portaldan kayıt defteri oluştururken, kullanılabilir seçeneklerden Etki Alanı Adı Etiket Kapsamı'nı seçin:

  • Güvenli değil: as-isDNS adını kayıt defteri adına göre oluşturur (ör. contosoacrregistry.azurecr.io). Bu seçenek DNL korumasını içermez.
  • Tenant Reuse: Kiracı ve kayıt defteri adlarına dayalı benzersiz bir hash ekleyerek, DNS adının kiracı içerisinde benzersiz olmasını sağlar.
  • Abonelik Yeniden Kullanımı: Abonelik, kiracı ve kayıt defteri adına dayalı benzersiz bir özet ekleyerek DNS adının abonelik kapsamında benzersiz olmasını sağlar.
  • Kaynak Grubunu Yeniden Kullanma: Kaynak grubu, abonelik, kiracı ve kayıt defteri adına göre benzersiz bir karma ekleyerek DNS adının kaynak grubu içinde benzersiz olmasını sağlar.
  • Yeniden Kullanım Yok: Kayıt defteri her oluşturulduğunda, diğer faktörlerden bağımsız olarak benzersiz karma ile benzersiz bir DNS adı oluşturur ve DNS adının her zaman benzersiz olmasını sağlar.

Uyarı

Sabit Yapılandırma: Kayıt defteri oluşturma sırasında seçilen DNL kapsamı kalıcıdır ve daha sonra değiştirilemez. Bu, tutarlı DNS davranışı sağlar ve aşağı akış başvurularında kesinti yaşanmasını önler.

Etki Alanı Adı Etiketini Yapılandır seçeneği

DNL seçeneklerinin DNS Adı Etkileri

DNS Adı Biçimi: Güvenli olmayan dışındaki tüm DNL özellikli seçenekler için DNS adı, tirenin (registryname-hash.azurecr.io) karma ayırıcı olarak görev yaptığı biçimi -izler. Çakışmaları önlemek için kayıt defteri adında tireye (-) izin verilmez. Örneğin, contosoacrregistry adındaki bir kayıt defteri, Tenant Reuse DNL kapsamına sahipse contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io gibi bir DNS adı olacaktır.

Aşağı Akış Başvuruları: DNS adı kayıt defteri adından farklı olabilir ve Dockerfiles, Kubernetes YAML ve Helm grafikleri gibi aşağı akış dosyalarındaki güncelleştirmelerin DNL karması ile tam DNS adını yansıtmasını gerektirebilir. Örneğin, aşağı akış Dockerfile'ınızın, contosoacrregistry DNL kapsamına sahip Tenant Reuse adlı bir kayıt defterine başvurmasını istiyorsanız, aşağı akış Dockerfile'ınızdaki başvuruyu contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io olarak güncelleştirmeniz gerekir.

Etki Alanı Adı Etiketi seçeneğini ve DNS adını gözden geçirme işleminin ekran görüntüsü.

Rol atama izinleri modunu yapılandırma

Yeni kayıt defterinin "Rol atama izinleri modunu" yapılandırın. Bu seçenek, Microsoft Entra depo izinleri için Microsoft Entra öznitelik tabanlı erişim denetimi (ABAC) kullanımı dahil olmak üzere Kayıt defteri için Microsoft Entra rol tabanlı erişim denetiminin (RBAC) ve rol atamalarının nasıl yönetileceğini belirler.

Standart Microsoft Entra RBAC rol atamalarını korumak ve isteğe bağlı olarak ayrıntılı, depo düzeyinde erişim denetimi için Microsoft Entra ABAC koşullarını uygulamak için "RBAC Kayıt Defteri + ABAC Deposu İzinleri" seçeneğini belirleyin.

Rol atama izinleri modunu yapılandırma işleminin ekran görüntüsü

Bu seçenek hakkında daha fazla bilgi için bkz. Depo izinleri için Microsoft Entra öznitelik tabanlı erişim denetimi (ABAC).

Kapsayıcı kayıt defterini devreye alma

Kalan ayarlar için varsayılan değerleri kabul edin. Ardından Gözden geçir ve oluştur'u seçin. Ayarları gözden geçirdikten sonra oluştur'useçin.

Tavsiye

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ı 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ı.

Dağıtım başarılı iletisi görüntülendiğinde portalda kapsayıcı kayıt defterini seçin.

Portalda kapsayıcı kayıt defterine genel bakış

Azure bulutunda ile biten tam ad olan azurecr.io kayıt defteri adını ve değerini not alın. Bir DNL seçeneği belirlediyseniz, oturum açma sunucusu adı benzersiz bir karma içerir.

Docker ile görüntüleri gönderirken ve çekerken ve Dockerfiles, Kubernetes YAML ve Helm grafikleri gibi aşağı akış başvurularında aşağıdaki adımlarda oturum açma sunucusunu kullanın.

Kayıt defterinde oturum açma

Kapsayıcı görüntülerini göndermeden ve çekmeden önce kayıt defteri örneğinde oturum açmanız gerekir. Yerel makinenizde Azure CLI'da oturum açın, ardından az acr login komutunu çalıştırın.

Azure CLI ile oturum açarken yalnızca kayıt defteri kaynak adını belirtin, örneğin az acr login -n registryname. veya registryname.azurecr.io gibi registryname-hash.azurecr.io tam oturum açma sunucusu adını kullanmayın (DNL özellikli kayıt defterleri için).

az acr login --name <registry-name>

Örnek:

az acr login --name contosoacrregistry

Komut tamamlandıktan sonra Login Succeeded döndürür.

Görüntüyü kayıt defterine gönderme

Azure Container registry'ye görüntü göndermek için önce bir görüntüye sahip olmanız gerekir. 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 şeklindedir mycontainerregistry-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, kayıt defteriniz Tenant Reuse DNL kapsamı ile oluşturulduysa, sunucu DNS adında bir karma ile mycontainerregistry-abc123.azurecr.io gibi görünebilir. Kayıt defteriniz DNL seçeneğiyle Unsecure oluşturulduysa, oturum açma sunucusu karma olmadan gibi mycontainerregistry.azurecr.io görünür.

Kayıt defteri oluşturma sırasında DNL seçenekleri ve DNS adı etkileri hakkında daha fazla bilgi için bkz. Hızlı Başlangıç - Portalda Kayıt Defteri Oluşturma.

Örnek: Göndermeden önce bir görüntüyü etiketleme

Kayıt defterinizin oturum açma sunucusunu kullanarak docker tag komutunu kullanarak görüntüyü etiketleyin.

DNL olmayan bir kayıt defteri için etiketleme görüntüsü:

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

DNL özellikli kayıt defteri için etiketleme görüntüsü:

docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.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. <login-server> değerini kayıt defteri örneğinizin oturum açma sunucusu adıyla değiştirin. 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 yerel Docker ortamınızdan hello-world:v1 görüntüsünü kaldırın. (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

Kayıt defterinizdeki görüntüleri listelemek için portalda kayıt defterinize gidin ve Depolar'ı seçin, ardından ile oluşturduğunuz docker push deposunu seçin.

Portalda kapsayıcı görüntülerini listeleme

Hello-world deposunu seçerek v1 altında etiketli görüntüyü görürsünüz.

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ı temizle

Kaynaklarınızı temizlemek için portalda myResourceGroup kaynak grubuna gidin. Kaynak grubu yüklendikten sonra Kaynak grubunu sil'e tıklayarak kaynak grubunu, kapsayıcı kayıt defterini ve burada depolanan kapsayıcı görüntülerini kaldırın.

Portalda kaynak grubunu silme

Sonraki Adımlar

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