Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Docker Hub'daki kapsayıcı görüntüleri de dahil olmak üzere genel içeriğin kopyalarını korumak için Azure kapsayıcı kayıt defteri gibi yerel bir kayıt defteri kullanmaya yönelik yöntemlere ve iş akışlarına genel bir bakış sağlanmaktadır.
Genel içerikle ilgili riskler
Ortamınız, genel kapsayıcı görüntüleri, Helm diyagramları, Open Policy Agent (OPA) ilkeleri veya diğer nesneler gibi genel içeriğe bağlı olabilir. Örneğin, nginx'i.
Uygun denetimler olmadan, genel kayıt defteri içeriğine bağımlılıklar olması görüntü geliştirme ve dağıtım iş akışlarınıza riskler verebilir. Riskleri azaltmak için, mümkün olduğunda genel içeriğin yerel kopyalarını saklayın. Ayrıntılar için Open Container Initiative bloguna bakın.
Docker Hub ile kimlik doğrulaması yapma
Şu anda derleme veya dağıtım iş akışının bir parçası olarak Docker Hub'dan genel görüntüleri çekiyorsanız, anonim çekme isteğinde bulunmak yerine Docker Hub hesabı kullanarak kimlik doğrulaması yapmanızı öneririz.
Sık sık anonim çekme istekleri gönderdiğinizde, ERROR: toomanyrequests: Too Many Requests. veya You have reached your pull rate limit. gibi Docker hataları görebilirsiniz. Bu hataları önlemek için Docker Hub'da kimlik doğrulaması yapın.
Not
İndirme hızı sınırları, Docker Ücretsiz Planı hesaplarından Docker Hub'a yapılan anonim ve kimliği doğrulanmış istekler için geçerlidir. Bu sınırlar sırasıyla IP adresi ve Docker Kimliği ile uygulanır.
Çekme isteği sayısınızı tahmin etmek için bulut sağlayıcısı hizmetlerini kullanırken veya bir kurumsal NAT'nin arkasında çalışırken Docker Hub'da IP adreslerinin bir alt kümesi olarak birden çok kullanıcının göründüğünü unutmayın. Docker Hub'a yapılan isteklere Docker ücretli hesap kimlik doğrulaması ekleyerek hız sınırı azaltmasından kaynaklanan olası hizmet kesintilerini önleyebilirsiniz.
Ayrıntılar için bkz . Docker fiyatlandırması ve abonelikleri ile Docker Hizmet Koşulları.
Docker Hub erişim belirteci
Docker Hub, Docker Hub'da kimlik doğrulaması yaparken Docker parolasına alternatif olarak kişisel erişim belirteçlerini destekler. Docker Hub'dan görüntü çeken otomatik hizmetler için belirteçler önerilir. Farklı kullanıcılar veya hizmetler için birden çok belirteç oluşturabilir ve artık gerekli olmadığında belirteçleri iptal edebilirsiniz.
Belirteç kullanarak kimlik doğrulaması docker login yapmak için komut satırındaki parolayı atlayın. Parola istendiğinde, bunun yerine belirteci girin. Docker Hub hesabınız için iki öğeli kimlik doğrulamasını etkinleştirdiyseniz, Docker CLI'dan oturum açarken kişisel erişim belirteci kullanmanız gerekir.
Azure hizmetlerinden kimlik doğrulaması
App Service ve Azure Container Instances gibi çeşitli Azure hizmetleri, kapsayıcı dağıtımları için Docker Hub gibi genel kayıt defterlerinden görüntü çekmeyi destekler. Docker Hub'dan görüntü dağıtmanız gerekiyorsa, Docker Hub hesabı kullanarak kimlik doğrulaması yapmak için ayarları yapılandırmanızı öneririz. Örnekler:
App Service
- Görüntü kaynağı: Docker Hub
- Depo erişimi: Özel
- Oturum açma: <Docker Hub kullanıcı adı>
- Parola: <Docker Hub belirteci>
Ayrıntılar için bkz . App Service'te Docker Hub kimliği doğrulanmış çekmeler.
Azure Container Instances
- Görüntü kaynağı: Docker Hub veya diğer kayıt defteri
- Görüntü türü: Özel
- Görüntü kayıt defteri oturum açma sunucusu: docker.io
- Görüntü kayıt defteri kullanıcı adı: <Docker Hub kullanıcı adı>
- Görüntü kayıt defteri parolası: <Docker Hub belirteci>
- Resim: docker.io/< repo name>:<tag>
Yapıt Önbelleğini genel içeriği kullanacak şekilde yapılandırma
Genel içerik kullanmak için en iyi yöntem, kayıt defteri kimlik doğrulaması ile Yapıt Önbelleği özelliğini birleştirmektir. Özel ağlarda bile kapsayıcı yapıtlarınızı Azure Container Registry'nizde önbelleğe almak için Yapıt Önbelleği'ni kullanın. Yapıt Önbelleği'ni kullanmak sizi yalnızca kayıt defteri hız sınırlarından korumakla kalmaz, aynı zamanda Azure kaynağınıza en yakın bölgeden yapıtları çekmek için Coğrafi olarak çoğaltılmış ACR ile birleştirildiğinde çekme güvenilirliğini önemli ölçüde artırır. Ayrıca özel ağlar, güvenlik duvarı yapılandırması, Hizmet Sorumluları ve daha fazlası dahil olmak üzere ACR'nin sunduğu tüm güvenlik özelliklerini kullanabilirsiniz. ACR Yapıt Önbelleği ile genel içerik kullanma hakkında tam bilgi için Yapıt Önbelleği öğreticisine bakın.
Azure kapsayıcı kayıt defterine görüntü aktarma
Henüz bir Azure Container Registry'niz yoksa, genel görüntülerin kopyalarını yönetmek için bir Azure Container Registry oluşturun. Kayıt defteri oluşturmak için Azure CLI, Azure portalı, Azure PowerShell veya diğer araçları kullanın.
Önerilen tek seferlik bir adım olarak temel görüntüleri ve diğer genel içeriği Azure kapsayıcı kayıt defterinize aktarın . Azure CLI'daki az acr import komutu, Docker Hub ve Microsoft Container Registry gibi genel kayıt defterlerinden ve özel kapsayıcı kayıt defterlerinden görüntü içeri aktarmayı destekler.
az acr import yerel bir Docker yüklemesi gerektirmez. Azure CLI'nın yerel yüklemesiyle veya doğrudan Azure Cloud Shell'de çalıştırabilirsiniz. Herhangi bir işletim sistemi türünün, çok mimarili görüntülerin veya Helm grafikleri gibi OCI yapıtlarının görüntülerini destekler.
Kuruluşunuzun gereksinimlerine bağlı olarak, ayrılmış bir kayıt defterine veya paylaşılan kayıt defterindeki bir depoya aktarabilirsiniz.
az acr import \
--name myregistry \
--source docker.io/library/hello-world:latest \
--image hello-world:latest \
--username <Docker Hub username> \
--password <Docker Hub token>
Görüntü başvurularını güncelleştirme
Uygulama görüntülerinin geliştiricileri, kodlarının kendi denetimi altındaki yerel içeriğe başvurduğunu güvence altına almalıdır.
- Özel kayıt defterini kullanmak için görüntü başvurularını güncelleştirin. Örneğin, Dockerfile içindeki bir
FROM baseimage:v1ifadesini DNL olmayan bir kayıt defteri içinFROM myregistry.azurecr.io/mybaseimage:v1veya DNL özellikli bir kayıt defteri içinFROM myregistry-abc123.azurecr.io/mybaseimage:v1olarak güncelleyin. 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. - Özel kayıt defterini kullanmak için kimlik bilgilerini veya kimlik doğrulama mekanizmasını yapılandırın. Tam mekanizma, kayıt defterine erişmek için kullandığınız araçlara ve kullanıcı erişimini nasıl yönettiğinize bağlıdır.
- Kayıt defterine erişmek için bir Kubernetes kümesi veya Azure Kubernetes Service kullanıyorsanız kimlik doğrulama senaryolarına bakın.
- Azure kapsayıcı kayıt defteriyle kimlik doğrulaması seçenekleri hakkında daha fazla bilgi edinin.
Uygulama görüntüsü güncelleştirmelerini otomatikleştirme
Temel görüntüler güncelleştirildiğinde uygulama görüntüsü derlemelerini otomatikleştirmek için bir Azure Container Registry görevi ayarlayın. Bu yaklaşım, görüntü içeri aktarma işleminde genişler. Otomatik derleme görevi hem temel görüntü güncelleştirmelerini hem de kaynak kodu güncelleştirmelerini izleyebilir.
Ayrıntılı bir örnek için bkz . Azure Container Registry Görevleri ile genel içeriği kullanma ve koruma.
Not
Önceden yapılandırılmış tek bir görev, bağımlı bir temel görüntüye başvuran her uygulama görüntüsünü otomatik olarak yeniden oluşturabilir.
Sonraki adımlar
- Azure'da kapsayıcı görüntüleri oluşturmaya, çalıştırmaya, göndermeye ve düzeltme eki uygulamaya ilişkin ACR Görevleri hakkında daha fazla bilgi edinin.
- Temel görüntüleri ortamınıza güncelleştirmek için otomatikleştirilmiş bir gating iş akışı için bkz . Azure Container Registry Görevleri ile genel içeriği kullanma ve koruma.
- Görüntü derlemelerini ve güncelleştirmelerini otomatikleştirmeye yönelik daha fazla örnek için ACR Görevleri öğreticilerine bakın.