Osvědčené postupy pro službu Azure Container RegistryBest practices for Azure Container Registry

Když se budete řídit těmito osvědčenými postupy, můžete maximalizovat výkon a nákladově efektivní používání svého privátního registru Dockeru v Azure.By following these best practices, you can help maximize the performance and cost-effective use of your private Docker registry in Azure.

Nasazení blízko sítěNetwork-close deployment

Vytvořte registr kontejnerů ve stejné oblasti Azure, do které nasazujete kontejnery.Create your container registry in the same Azure region in which you deploy containers. Umístění registru do oblasti blízko sítě hostitelů kontejnerů může pomoct snížit latenci i náklady.Placing your registry in a region that is network-close to your container hosts can help lower both latency and cost.

Nasazení blízko sítě je jedním z hlavních důvodů pro použití privátního registru kontejnerů.Network-close deployment is one of the primary reasons for using a private container registry. Image Dockeru obsahují efektivní koncept vrstvení, který umožňuje přírůstkové nasazování.Docker images have an efficient layering construct that allows for incremental deployments. Nové uzly však musí přetahovat všechny vrstvy požadované pro danou image.However, new nodes need to pull all layers required for a given image. Toto počáteční přetáhnutí příkazem docker pull se rychle může rozrůst až na několik gigabajtů.This initial docker pull can quickly add up to multiple gigabytes. Umístění privátního registru blízko nasazení minimalizuje latenci sítě.Having a private registry close to your deployment minimizes the network latency. Všechny veřejné cloudy včetně Azure navíc zahrnují poplatky za odchozí přenosy v síti.Additionally, all public clouds, Azure included, implement network egress fees. Přetahování imagí z jednoho datacentra do jiného zvyšuje kromě latence i poplatky za odchozí přenosy v síti.Pulling images from one datacenter to another adds network egress fees, in addition to the latency.

Geografická replikace nasazení ve více oblastechGeo-replicate multi-region deployments

Pokud nasazujete kontejnery do více oblastí, využijte funkci geografické replikace ve službě Azure Container Registry.Use Azure Container Registry's geo-replication feature if you're deploying containers to multiple regions. Ať už obsluhujete globální zákazníky z místních datacenter nebo je váš vývojový tým rozmístěný v různých oblastech, díky geografické replikaci registru můžete zjednodušit správu registru a minimalizovat latenci.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. Geografická replikace je dostupná jen u registrů Premium.Geo-replication is available only with Premium registries.

Informace o použití geografické replikace najdete v třídílném kurzu Geografická replikace ve službě Azure Container Registry.To learn how to use geo-replication, see the three-part tutorial, Geo-replication in Azure Container Registry.

Obory názvů úložištěRepository namespaces

S využitím oborů názvů úložiště můžete umožnit sdílení jednoho registru napříč několika skupinami v rámci vaší organizace.By leveraging repository namespaces, you can allow sharing a single registry across multiple groups within your organization. Registry se můžou sdílet napříč nasazeními a týmy.Registries can be shared across deployments and teams. Azure Container Registry podporuje vnořené obory názvů a díky tomu umožňuje izolaci skupin.Azure Container Registry supports nested namespaces, enabling group isolation.

Představte si například následující značky image kontejneru.For example, consider the following container image tags. Image používané v rámci celého podniku, například aspnetcore, jsou umístěné v kořenovém oboru názvů, zatímco jednotlivé image kontejnerů vlastněné produkčními a marketingovými skupinami používají svůj vlastní obor názvů.Images that are used corporate-wide, like aspnetcore, are placed in the root namespace, while container images owned by the Production 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

Vyhrazená skupina prostředkůDedicated resource group

Vzhledem k tomu, že registry kontejnerů jsou prostředky, které se používají na více hostitelích kontejnerů, měl by být registr umístěný ve vlastní skupině prostředků.Because container registries are resources that are used across multiple container hosts, a registry should reside in its own resource group.

I když můžete experimentovat s konkrétním typem hostitele, jako je služba Azure Container Instances, pravděpodobně budete chtít instanci kontejneru odstranit, jakmile budete hotovi.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ůžete však také chtít zachovat kolekci imagí, které jste nasdíleli do služby Azure Container Registry.However, you might also want to keep the collection of images you pushed to Azure Container Registry. Umístěním registru do vlastní skupiny prostředků minimalizujete riziko nechtěného odstranění kolekce imagí v registru při odstraňování skupiny prostředků instance kontejneru.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.

OvěřováníAuthentication

Při ověřování ve službě Azure Container Registry existují dva primární scénáře: jednotlivé ověření a ověření služby (neboli bezobslužné ověření).When authenticating with an Azure container registry, there are two primary scenarios: individual authentication, and service (or "headless") authentication. Následující tabulka obsahuje stručný přehled těchto scénářů a doporučenou metodu ověřování pro každý z nich.The following table provides a brief overview of these scenarios, and the recommended method of authentication for each.

typeType Příklad scénářeExample scenario Doporučená metodaRecommended method
Jednotlivá identitaIndividual identity Vývojář přetahující image do svého vývojového počítače nebo sdílející image ze svého vývojového počítače.A developer pulling images to or pushing images from their development machine. az acr loginaz acr login
Bezobslužné ověření/identita službyHeadless/service identity Kanály sestavení a nasazení bez přímého zapojení uživatele.Build and deployment pipelines where the user isn't directly involved. Instanční objektService principal

Podrobné informace o ověřování ve službě Azure Container Registry najdete v tématu Ověřování ve službě Azure Container Registry.For in-depth information about Azure Container Registry authentication, see Authenticate with an Azure container registry.

Správa velikosti registruManage registry size

Omezení úložiště každé skladové položky registru kontejneru mají být v souladu s běžným scénářem: Basic pro začátek, Standard pro většinu produkčních aplikací a Premium pro výkon a geografickou replikacina úrovni Hyper.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. Po celou dobu životnosti vašeho registru byste měli spravovat jeho velikost pravidelným odstraňováním nevyužívaného obsahu.Throughout the life of your registry, you should manage its size by periodically deleting unused content.

Pomocí příkazu Azure CLI AZ ACR show-Usage zobrazte aktuální velikost registru: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

Můžete také najít aktuální úložiště použité v přehledu registru v Azure Portal:You can also find the current storage used in the Overview of your registry in the Azure portal:

Informace o využití registru na webu Azure Portal

Odstranit data obrázkuDelete image data

Azure Container Registry podporuje několik metod odstranění dat imagí z registru kontejneru.Azure Container Registry supports several methods for deleting image data from your container registry. Můžete odstranit obrázky podle značky nebo výtahu manifestu nebo odstranit celé úložiště.You can delete images by tag or manifest digest, or delete a whole repository.

Podrobnosti o odstranění dat imagí z registru, včetně neoznačeného (někdy nazývaného "dangling" nebo "osamocené") imagí, najdete v tématu odstranění imagí kontejneru v 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.

Další postupNext steps

Služba Azure Container Registry je dostupná v několika úrovních, označovaných jako skladové položky, každá z nichž poskytuje různé možnosti.Azure Container Registry is available in several tiers, called SKUs, that each provide different capabilities. Podrobnosti o dostupných skladových položkách najdete v tématu Skladové položky služby Azure Container Registry.For details on the available SKUs, see Azure Container Registry SKUs.