Skapa ett Azure Container Registry (ACR).
Azure Container Registry är tillgängligt på flera tjänstnivåer (kallas även SKU:er). Dessa nivåer ger förutsägbar prissättning och flera alternativ för att anpassa sig till kapacitets- och användningsmönstren i ditt privata Docker-register i Azure.
Nivå | beskrivning |
---|---|
Grundläggande | En kostnadsoptimerad startpunkt för utvecklare som lär sig Azure Container Registry. Grundläggande register har samma programmatiska funktioner som Standard och Premium (till exempel Microsoft Entra-autentiseringsintegrering, bildborttagning och webhooks). Det inkluderade dataflödet för lagring och avbildning är dock lämpligast för scenarier med lägre användning. |
Standard | Standardregister erbjuder samma funktioner som Basic, med ökat inkluderat dataflöde för lagring och avbildning. Standard-register bör uppfylla behoven för de flesta produktionsscenarier. |
Premium | Premium-register ger den högsta mängden inkluderade lagrings- och samtidiga åtgärder, vilket möjliggör scenarier med stora volymer. Utöver ett högre dataflöde för avbildningar lägger Premium till funktioner som geo-replikering för hantering av ett enskilt register i flera regioner, innehållsförtroende för signering av avbildningstaggen, privat länk med privata slutpunkter för att begränsa åtkomsten till registret. |
Nivåerna Basic, Standard och Premium har alla samma programmatiska funktioner. De drar också nytta av avbildningslagring som hanteras helt av Azure. Om du väljer en nivå på högre nivå får du mer prestanda och skalning. Med flera tjänstnivåer kan du komma igång med Basic och sedan konvertera till Standard och Premium när registeranvändningen ökar.
Till exempel:
- Om du köper ett basic-nivåregister innehåller det en lagring på 10 GB. Priset du betalar här är $ 0,167 per dag. Priserna beräknas baserat på AMERIKANSKA dollar.
- Om du har ett basic-nivåregister och använder 25 GB lagringsutrymme betalar du 0,003 USD per dag*15 = 0,045 USD per dag för ytterligare 15 GB.
- Så prissättningen för Basic ACR med 25 GB lagring är $0.167+$0.045= 0.212 USD per dag med andra relaterade avgifter som nätverk, byggen osv. enligt Pricing - Container Registry.
Funktioner och gränser på tjänstnivå
I följande tabell beskrivs funktionerna och registergränserna för tjänstnivåerna Basic, Standard och Premium.
Resurs | Basic | Standard | Premium |
---|---|---|---|
Ingår lagring1 (GiB) | 10 | 100 | 500 |
Lagringsgräns (TiB) | 40 | 40 | 40 |
Maximal bildskiktsstorlek (GiB) | 200 | 200 | 200 |
Maximal manifeststorlek (MiB) | 4 | 4 | 4 |
ReadOps per minut2, 3 | 1 000 | 3 000 | 10,000 |
WriteOps per minut2, 4 | 100 | 500 | 2 000 |
Ladda ned bandbredd2 (Mbit/s) | 30 | 60 | 100 |
Ladda upp bandbredd 2 (Mbit/s) | 10 | 20 | 50 |
Webhook | 2 | 10 | 500 |
Geo-replikering | Saknas | Saknas | Stöds |
Tillgänglighetszoner | Saknas | Saknas | Stöds |
Förtroende för innehåll | Saknas | Saknas | Stöds |
Privat länk med privata slutpunkter | Saknas | Saknas | Stöds |
• Privata slutpunkter | Saknas | Saknas | 200 |
Regler för offentligt IP-nätverk | Saknas | Saknas | 100 |
Åtkomst till tjänstslutpunktens virtuella nätverk | Saknas | Saknas | Förhandsversion |
• Regler för virtuellt nätverk | Saknas | Saknas | 100 |
Kundhanterade nycklar | Saknas | Saknas | Stöds |
Behörigheter som omfattar lagringsplats | Stöds | Stöds | Stöds |
•Token | 100 | 500 | 50,000 |
• Omfångskartor | 100 | 500 | 50,000 |
•Åtgärder | 500 | 500 | 500 |
• Lagringsplatser per omfångskarta5 | 500 | 500 | 500 |
Anonym pull-åtkomst | Ej tillämpligt | Förhandsversion | Förhandsversion |
1 Lagringsutrymme som ingår i den dagliga kursen för varje nivå. Ytterligare lagringsutrymme kan användas, upp till registrets lagringsgräns, till en extra daglig kostnad per GiB. Mer information finns i prissättningen för Azure Container Registry. Om du behöver lagringsutrymme utanför registerlagringsgränsen kontaktar du Azure-supporten.
2ReadOps, WriteOps och Bandwidth är minsta uppskattningar. Azure Container Registry strävar efter att förbättra prestanda efter användningsbehov. Både resurser, ACR och enheten måste finnas i samma region för att uppnå en snabb nedladdningshastighet.
3En docker pull översätts till flera läsåtgärder baserat på antalet lager i avbildningen, plus manifesthämtningen.
4En docker push översätts till flera skrivåtgärder, baserat på antalet lager som måste push-överföras. En docker push
innehåller ReadOps för att hämta ett manifest för en befintlig avbildning.
5 Enskilda åtgärder av content/delete
, content/read
, content/write
, metadata/read
, metadata/write
motsvarar gränsen för lagringsplatser per omfångskarta.
Registerdataflöde och begränsning
Genomflöde
När du genererar en hög frekvens av registeråtgärder använder du tjänstnivåns gränser för läs- och skrivåtgärder och bandbredd som en guide för förväntat maximalt dataflöde. Dessa gränser påverkar dataplansåtgärder, inklusive listning, borttagning, push-överföring och borttagning av bilder och andra artefakter.
Om du vill beräkna dataflödet för avbildningshämtningar och push-överföringar specifikt bör du överväga registergränserna och dessa faktorer:
- Antal och storlek på bildskikt
- Återanvändning av lager eller basbilder mellan bilder
- ytterligare API-anrop som kan krävas för varje pull- eller push-överföring
Mer information finns i dokumentationen för Docker HTTP API V2.
När du utvärderar eller felsöker registerdataflöde bör du även överväga konfigurationen av klientmiljön:
- din Docker-daemonkonfiguration för samtidiga åtgärder
- nätverksanslutningen till registrets dataslutpunkt (eller slutpunkter, om registret är geo-replikerat).
Om du har problem med dataflödet till registret kan du läsa Felsöka registerprestanda.
Exempel
För att skicka en enskild 133 MB-avbildning nginx:latest
till ett Azure-containerregister krävs flera läs- och skrivåtgärder för avbildningens fem lager:
- Läsåtgärder för att läsa avbildningsmanifestet om det finns i registret
- Skrivåtgärder för att skriva avbildningens konfigurationsblob
- Skrivåtgärder för att skriva bildmanifestet
Begränsning
Du kan uppleva begränsning av pull- eller push-åtgärder när registret fastställer att antalet begäranden överskrider de gränser som tillåts för registrets tjänstnivå. Du kan se ett HTTP 429-fel som liknar Too many requests
.
Begränsning kan ske tillfälligt när du genererar en burst av avbildningshämtnings- eller push-åtgärder under en mycket kort period, även när den genomsnittliga hastigheten för läs- och skrivåtgärder ligger inom registergränserna. Du kan behöva implementera logik för återförsök med viss backoff i koden eller minska den maximala mängden begäranden till registret.
Visa registeranvändning
Använd kommandot az acr show-usage i Azure CLI, Get-AzContainerRegistryUsage i Azure PowerShell eller REST API för listanvändning för att få en ögonblicksbild av registrets aktuella förbrukning av lagring och andra resurser, jämfört med gränserna för registrets tjänstnivå. Lagringsanvändningen visas också på registrets översiktssida i portalen.
Användningsinformation hjälper dig att fatta beslut om att ändra tjänstnivån när registret närmar sig en gräns. Den här informationen hjälper dig också att hantera förbrukning.
Kommentar
Registrets lagringsanvändning bör endast användas som en guide och kanske inte återspeglar de senaste registeråtgärderna. Övervaka registrets mått för lagringanvända för aktuella data.
Beroende på registrets tjänstnivå innehåller användningsinformation vissa eller alla av följande, tillsammans med gränsen på den nivån:
- Lagring som förbrukas i byte1
- Antal webhooks
- Antal geo-replikeringar (inklusive hemrepliken)
- Antal privata slutpunkter
- Antal IP-åtkomstregler
- Antal regler för virtuellt nätverk
1I ett geo-replikerat register visas lagringsanvändningen för hemregionen. Multiplicera med antalet replikering för totalt förbrukat lagringsutrymme.
Ändra nivåer
Du kan ändra ett registers tjänstnivå med Azure CLI eller i Azure Portal. Du kan flytta fritt mellan nivåer så länge den nivå som du byter till har den maximala lagringskapacitet som krävs.
Det finns ingen stilleståndstid för registret eller påverkan på registeråtgärder när du flyttar mellan tjänstnivåer.
Azure CLI
Om du vill flytta mellan tjänstnivåer i Azure CLI använder du kommandot az acr update . Om du till exempel vill växla till Premium:
az acr update --name myContainerRegistry --sku Premium
Azure PowerShell
Om du vill flytta mellan tjänstnivåer i Azure PowerShell använder du cmdleten Update-AzContainerRegistry . Om du till exempel vill växla till Premium:
Update-AzContainerRegistry -ResourceGroupName myResourceGroup -Name myContainerRegistry -Sku Premium
Azure Portal
I containerregistret Översikt i Azure Portal väljer du Uppdatera och sedan en ny SKU i listrutan SKU.
Prissättning
Prisinformation om var och en av Azure Container Registry-tjänstnivåerna finns i Container Registry-priser.
Mer information om priser för dataöverföringar finns i Prisinformation om bandbredd.
Nästa steg
Översikt över Azure Container Registry
Besök ACR-översikten på GitHub för att hitta information om kommande funktioner i tjänsten.
Azure Container Registry UserVoice
Skicka in och rösta på nya funktionsförslag i ACR UserVoice.