Kayıt defteri oturum açma sorunlarını giderme

Bu makale, bir Azure Container Registry 'de oturum açarken karşılaşabileceğiniz sorunları gidermenize yardımcı olur.

Belirtiler

Aşağıdakilerden birini veya daha fazlasını içerebilir:

  • docker login, az acr login Veya her ikisini kullanarak kayıt defterine oturum açılamıyor
  • Kayıt defterine oturum açılamıyor ve hata alıyorsunuz ya da unauthorized: authentication required``unauthorized: Application not registered with AAD
  • Kayıt defterine oturum açılamıyor ve Azure CLı hatası alıyorsunuz Could not connect to the registry login server
  • Görüntüler gönderilemiyor veya çekilemiyor ve Docker hatası alıyorsunuz unauthorized: authentication required
  • Azure Kubernetes hizmeti, Azure DevOps veya başka bir Azure hizmeti ile kayıt defterine erişilemiyor
  • Kayıt defterine erişilemiyor ve hata alıyorsunuz Error response from daemon: login attempt failed with status: 403 Forbidden -bkz. kayıt defteri ile ağ sorunlarını giderme
  • Azure portal kayıt defteri ayarlarına erişilemiyor veya Azure CLı kullanarak kayıt defterini yönetme

Nedenler

  • Docker, ortamınızda düzgün yapılandırılmamış- çözümünüz
  • Kayıt defteri yok veya ad yanlış- çözüm
  • Kayıt defteri kimlik bilgileri geçerli değil- çözüm
  • Kimlik bilgileri gönderim, çekme veya Azure Resource Manager işlemler için yetkilendirilmemiş- çözüm
  • Kimlik bilgileri zaman aşımına uğradı- çözüm

Daha fazla tanılama

Kayıt defteri ortamının sistem durumu ve isteğe bağlı olarak bir hedef kayıt defterine erişim hakkında daha fazla bilgi almak için az ACR Check-Health komutunu çalıştırın. Örneğin, Docker yapılandırma hatalarını veya Azure Active Directory oturum açma sorunlarını tanılayın.

Bkz. komut örnekleri için Azure Container Registry 'nin sistem durumunu denetleme . Hatalar raporlandıysanız, önerilen çözümler için hata başvurusunu ve aşağıdaki bölümleri gözden geçirin.

Azure Kubernetes hizmeti ile kayıt defterini kullanarak sorun yaşıyorsanız, kayıt defterinin AKS kümesinden erişilebilir olduğunu doğrulamak için az aks Check-ACR komutunu çalıştırın.

Not

Bazı kimlik doğrulama veya yetkilendirme hataları, kayıt defteri erişimini önleyen güvenlik duvarı veya ağ yapılandırması varsa da oluşabilir. Bkz. kayıt defteri ile ağ sorunlarını giderme.

Olası çözümler

Docker yapılandırmasını denetle

Çoğu Azure Container Registry kimlik doğrulama akışı, görüntüleri gönderme ve çekme gibi işlemler için kayıt defterinizde kimlik doğrulayabilmeniz için yerel bir Docker yüklemesi gerektirir. Docker CLı istemcisinin ve Daemon 'ın (Docker Engine) ortamınızda çalıştığını doğrulayın. Docker Client sürüm 18,03 veya sonraki bir sürümü gereklidir.

İlgili bağlantılar:

Doğru kayıt defteri adını belirtin

Kullanırken docker login , kayıt defterinin myregistry.azurecr.io gibi tam oturum açma sunucusu adını sağlayın. Yalnızca küçük harfler kullandığınızdan emin olun. Örnek:

docker login myregistry.azurecr.io

Azure Active Directory kimlikle az ACR oturum açma kullanırken önce Azure CLI 'de oturum açınve kayıt defterinin Azure Kaynak adını belirtin. Kaynak adı, kayıt defteri oluşturulduğunda (bir etki alanı soneki olmadan) girilen addır. Örnek:

az acr login --name myregistry

İlgili bağlantılar:

Kayıt defterine erişmek için kimlik bilgilerini onaylayın

Senaryonuz için kullandığınız kimlik bilgilerinin geçerliliğini denetleyin veya size bir kayıt defteri sahibi tarafından sağlanmış olursunuz. Bazı olası sorunlar:

  • Active Directory hizmet sorumlusu kullanıyorsanız, Active Directory kiracısı içinde doğru kimlik bilgilerini kullanın:
    • Kullanıcı adı - hizmet sorumlusu uygulama kimliği (istemci kimliği olarak da adlandırılan)
    • Parola - hizmet sorumlusu parolası (gizli parola olarak da adlandırılan)
  • Kayıt defterine erişmek için Azure Kubernetes Service veya Azure DevOps azure hizmeti kullanıyorsanız, hizmetinizin kayıt defteri yapılandırmasını onaylayın.
  • az acr login --expose-token Docker daemon'larını kullanmadan kayıt defteri oturum açmasını sağlayan seçeneğiyle girdiyseniz, kullanıcı adı ile kimlik doğrulaması yaptıktan emin 00000000-0000-0000-0000-000000000000 olun.
  • Kayıt defteriniz anonim çekme erişimi için yapılandırılmışsa,önceki bir Docker oturum açma bilgilerinden depolanan mevcut Docker kimlik bilgileri anonim erişimi önlenebilir. Kayıt docker logout defterinde anonim çekme işlemi denemeden önce çalıştırın.

İlgili bağlantılar:

Kimlik bilgilerinin kayıt defterine erişme yetkisine sahip olduğunu onaylayın

Kayıt defterinden görüntü çekmek için Azure rolü veya görüntü itme rolü gibi kimlik bilgileriyle ilişkili kayıt defteri AcrPull AcrPush izinlerini onaylayın.

Portalda veya kayıt defteri yönetiminde Azure CLI kullanarak bir kayıt defterine erişim için en azından belirli işlemleri gerçekleştirmek için rol Reader veya eşdeğer Azure Resource Manager gerekir.

portalda kayıt defteri erişimine izin verecek şekilde kısa süre önce izinlerinizi değiştirdiyseniz, eski tarayıcı önbelleği veya tanımlama bilgilerini önlemek için tarayıcınızda gizli veya özel oturum denemeniz gerekir.

Rol atamaları eklemek veya kaldırmak için, sizin veya bir kayıt defteri sahibinin abonelikte yeterli ayrıcalıklara sahip olması gerekir.

İlgili bağlantılar:

Kimlik bilgilerinin dolmadığından emin olun

Belirteçler ve Active Directory kimlik bilgileri, tanımlı dönemlerden sonra zaman alabilir ve kayıt defteri erişimini önler. Erişimi etkinleştirmek için kimlik bilgilerinin sıfırlanması veya yeniden oluşturulması gerekebilir.

  • Kayıt defteri oturum açma için tek bir AD kimliği, yönetilen bir kimlik veya hizmet sorumlusu kullanıyorsanız, AD belirtecinin süresi 3 saat sonra dolar. Kayıt defterine tekrar oturum açın.
  • Bir AD hizmet sorumlusu, zaman aşımına uğradı bir istemci gizli anahtarı ile kullanılıyorsa, abonelik sahibi veya hesap yöneticisinin kimlik bilgilerini sıfırlaması veya yeni bir hizmet sorumlusu oluşturması gerekir.
  • Depo kapsamlı bir belirteçkullanılıyorsa, bir kayıt defteri sahibinin bir parolayı sıfırlaması veya yeni bir belirteç oluşturması gerekebilir.

İlgili bağlantılar:

Gelişmiş sorun giderme

Kayıt defterinde kaynak günlüklerinin toplanması etkinse, Kirınterregistryloginevents günlüğünü gözden geçirin. Bu günlük, gelen kimlik ve IP adresi dahil olmak üzere kimlik doğrulama olaylarını ve durumunu depolar. Kayıt defteri kimlik doğrulama hatalarıylailgili günlüğü sorgulayın.

İlgili bağlantılar:

Sonraki adımlar

Sorununuzu burada çözemezseniz, aşağıdaki seçeneklere bakın.