Bewährte Methoden für Azure Container RegistryBest practices for Azure Container Registry

Durch Befolgen dieser bewährten Methoden sorgen Sie für eine optimale Leistung und kostengünstige Verwendung Ihrer privaten Docker-Registrierung in Azure.By following these best practices, you can help maximize the performance and cost-effective use of your private Docker registry in Azure.

Informationen zu Strategien zum Taggen und für die Versionsverwaltung von Images in Ihrer Registrierung finden Sie unter Empfehlungen für das Taggen und die Versionsverwaltung von Containerimages.See also Recommendations for tagging and versioning container images for strategies to tag and version images in your registry.

Netzwerknahe BereitstellungNetwork-close deployment

Erstellen Sie Ihre Containerregistrierung in derselben Azure-Region, in der Sie Container bereitstellen.Create your container registry in the same Azure region in which you deploy containers. Indem Ihre Registrierung in eine Region platziert wird, die sich in Netzwerknähe Ihrer Containerhosts befindet, können Sie sowohl Wartezeiten als auch Kosten senken.Placing your registry in a region that is network-close to your container hosts can help lower both latency and cost.

Die netzwerknahe Bereitstellung ist einer der Hauptgründe für die Verwendung einer privaten Containerregistrierung.Network-close deployment is one of the primary reasons for using a private container registry. Docker-Images verfügen über ein effizientes Ebenenkonstrukt, das inkrementelle Bereitstellungen ermöglicht.Docker images have an efficient layering construct that allows for incremental deployments. Allerdings müssen neue Knoten alle Ebenen mithilfe von Pull übertragen, die für ein bestimmtes Image erforderlich sind.However, new nodes need to pull all layers required for a given image. Bei diesem anfänglichen docker pull können schnell mehrere Gigabyte zusammenkommen.This initial docker pull can quickly add up to multiple gigabytes. Durch eine private Registrierung in der Nähe Ihrer Bereitstellung wird die Netzwerklatenz auf ein Mindestmaß verringert.Having a private registry close to your deployment minimizes the network latency. Darüber hinaus werden für alle öffentlichen Clouds, einschließlich Azure, Gebühren für ausgehenden Netzwerkdatenverkehr erhoben.Additionally, all public clouds, Azure included, implement network egress fees. Wenn Images aus einem Rechenzentrum in ein anderes übertragen werden, entstehen neben Wartezeiten auch Kosten für ausgehenden Netzwerkdatenverkehr.Pulling images from one datacenter to another adds network egress fees, in addition to the latency.

Georeplikation von Bereitstellungen in mehreren RegionenGeo-replicate multi-region deployments

Verwenden Sie das Feature Georeplikation von Azure Container Registry, wenn Sie Container in mehreren Regionen bereitstellen.Use Azure Container Registry's geo-replication feature if you're deploying containers to multiple regions. Ganz gleich, ob Sie globale Kunden von lokalen Rechenzentren aus bedienen oder Ihr Entwicklungsteam sich an unterschiedlichen Standorten befindet – durch die Georeplikation Ihrer Registrierung können Sie die Registrierungsverwaltung vereinfachen und Wartezeiten auf ein Minimum reduzieren.Whether you're serving global customers from local data centers or your development team is in different locations, you can simplify registry management and minimize latency by geo-replicating your registry. Georeplikation ist nur mit Premium-Registrierungen verfügbar.Geo-replication is available only with Premium registries.

Sehen Sie sich die dreiteilige Tutorialreihe Georeplikation in Azure Container Registry an, um sich über die Verwendung der Georeplikation zu informieren.To learn how to use geo-replication, see the three-part tutorial, Geo-replication in Azure Container Registry.

RepositorynamespacesRepository namespaces

Mithilfe von Repositorynamespaces können Sie die gemeinsame Nutzung einer einzigen Registrierung in mehreren Gruppen innerhalb Ihrer Organisation ermöglichen.By leveraging repository namespaces, you can allow sharing a single registry across multiple groups within your organization. Registrierungen können in mehreren Bereitstellungen und Teams gemeinsam verwendet werden.Registries can be shared across deployments and teams. Azure Container Registry unterstützt geschachtelte Namespaces und ermöglicht damit die Isolation von Gruppen.Azure Container Registry supports nested namespaces, enabling group isolation.

Sehen Sie sich beispielsweise die folgenden Containerimagetags an.For example, consider the following container image tags. Images, die unternehmensweit verwendet werden (z. B. aspnetcore), werden im Stammnamespace abgelegt, während Containerimages, die zu den Produk- und Marketinggruppen gehören, jeweils eigene Namespaces verwenden.Images that are used corporate-wide, like aspnetcore, are placed in the root namespace, while container images owned by the Products and Marketing groups each use their own namespaces.

contoso.azurecr.io/aspnetcore:2.0
contoso.azurecr.io/products/widget/web:1
contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42

Dedizierte RessourcengruppeDedicated resource group

Da Containerregistrierungen Ressourcen sind, die über mehrere Containerhosts verwendet werden, sollte sich eine Registrierung in einer eigenen Ressourcengruppe befinden.Because container registries are resources that are used across multiple container hosts, a registry should reside in its own resource group.

Auch wenn Sie mit einem bestimmten Hosttyp (z.B. Azure Container Instances) experimentieren, möchten Sie die Containerinstanz wahrscheinlich am Ende löschen.Although you might experiment with a specific host type, such as Azure Container Instances, you'll likely want to delete the container instance when you're done. Möglicherweise empfiehlt es sich jedoch, die Sammlung von Images beizubehalten, die Sie mithilfe von Push in Azure Container Registry übertragen haben.However, you might also want to keep the collection of images you pushed to Azure Container Registry. Indem Sie Ihre Registrierung in einer eigenen Ressourcengruppe ablegen, minimieren Sie das Risiko, dass die Sammlung von Images in der Registrierung versehentlich gelöscht wird, wenn Sie die Ressourcengruppe der Containerinstanz löschen.By placing your registry in its own resource group, you minimize the risk of accidentally deleting the collection of images in the registry when you delete the container instance resource group.

AuthenticationAuthentication

Bei der Authentifizierung bei einer Azure-Containerregistrierung gibt es im Wesentlichen zwei Szenarien: die individuelle Authentifizierung und die Dienstauthentifizierung (oder „monitorlose Authentifizierung“).When authenticating with an Azure container registry, there are two primary scenarios: individual authentication, and service (or "headless") authentication. Die folgende Tabelle enthält eine kurze Übersicht über diese Szenarien sowie die jeweils empfohlene Authentifizierungsmethode.The following table provides a brief overview of these scenarios, and the recommended method of authentication for each.

typeType BeispielszenarioExample scenario Empfohlene MethodeRecommended method
Einzelne IdentitätIndividual identity Ein Entwickler, der Images mittels Pull auf seinen bzw. mittels Push von seinem Entwicklungscomputer überträgt.A developer pulling images to or pushing images from their development machine. az acr loginaz acr login
Monitorlose/DienstidentitätHeadless/service identity Build- und Bereitstellungspipelines, an denen der Benutzer nicht direkt beteiligt ist.Build and deployment pipelines where the user isn't directly involved. DienstprinzipalService principal

Ausführliche Informationen zur Azure Container Registry-Authentifizierung finden Sie unter Authentifizieren bei einer Azure-Containerregistrierung.For in-depth information about Azure Container Registry authentication, see Authenticate with an Azure container registry.

Verwalten von RegistrierungsgrößenManage registry size

Die Speichereinschränkungen jeder SKU der Containerregistrierung sind jeweils für ein typisches Szenario konzipiert: Basic für die ersten Schritte, Standard für die meisten Produktionsanwendungen und Premium für Leistung mit Hyperskalierung und Georeplikation.The storage constraints of each container registry SKU are intended to align with a typical scenario: Basic for getting started, Standard for the majority of production applications, and Premium for hyper-scale performance and geo-replication. Während der gesamten Dauer Ihrer Registrierung sollten Sie die Größe durch regelmäßiges Löschen von ungenutztem Inhalt verwalten.Throughout the life of your registry, you should manage its size by periodically deleting unused content.

Verwenden Sie den Azure CLI-Befehl az acr show-usage, um die aktuelle Größe Ihrer Registrierung anzuzeigen:Use the Azure CLI command az acr show-usage to display the current size of your registry:

$ az acr show-usage --resource-group myResourceGroup --name myregistry --output table
NAME      LIMIT         CURRENT VALUE    UNIT
--------  ------------  ---------------  ------
Size      536870912000  185444288        Bytes
Webhooks  100                            Count

Sie finden die aktuelle Speichernutzung auch in der Übersicht Ihrer Registrierung im Azure-Portal:You can also find the current storage used in the Overview of your registry in the Azure portal:

Informationen zur Registrierungsnutzung im Azure-Portal

Löschen von ImagedatenDelete image data

Azure Container Registry unterstützt mehrere Methoden zum Löschen von Imagedaten aus Ihrer Containerregistrierung.Azure Container Registry supports several methods for deleting image data from your container registry. Sie können Images anhand von Tags oder Manifesthashes löschen oder ein gesamtes Repository löschen.You can delete images by tag or manifest digest, or delete a whole repository.

Weitere Informationen zum Löschen von Imagedaten aus Ihrer Registrierung, einschließlich nicht mit Tags gekennzeichneter Images (manchmal als „verbleibend“ oder „verwaist“ bezeichnet) finden Sie unter Löschen von Containerimages in Azure Container Registry.For details on deleting image data from your registry, including untagged (sometimes called "dangling" or "orphaned") images, see Delete container images in Azure Container Registry.

Nächste SchritteNext steps

Azure Container Registry ist in mehrere Tarifen (SKUs) verfügbar, die jeweils verschiedene Funktionen bereitstellen.Azure Container Registry is available in several tiers, called SKUs, that each provide different capabilities. Ausführliche Informationen zu verfügbaren SKUs finden Sie unter Azure Container Registry-SKUs.For details on the available SKUs, see Azure Container Registry SKUs.