Die Nordlicht Reisen GmbH hat ihre Buchungs-Schnittstelle als Container-Image verpackt. Sie sollen das Image an einem privaten Ort ablegen, einen einzelnen Container kurz starten und die Schnittstelle als Dienst betreiben, der bei Last mehr Kopien startet. Die Prüfung nennt das: eine Azure Container Registry anlegen und verwalten, einen Container mit Container Instances und Container Apps bereitstellen und Größe und Skalierung verwalten.

Vorwissen: Was Container sind und wo sie zwischen virtuellen Maschinen und Serverless stehen, steht in „AZ-900 kompakt“, Lektion 2.3. Wie Entwickelnde ein Image bauen und eine Container App für Hintergrundarbeit nutzen, steht in K3, Lektion 3.7.7 („Hintergrundarbeit in Container Apps“). Hier steht die Sicht der Administration: anlegen, absichern, dimensionieren, skalieren, aufräumen. Kubernetes mit AKS gehört nicht dazu, das ist ein Wahlmodul.

Azure Container Registry

Eine Azure Container Registry (ACR) ist eine private Registry für Container-Images und verwandte Artefakte. Der Name muss in Azure eindeutig sein und besteht aus 5 bis 50 Kleinbuchstaben und Ziffern. Der Anmeldeserver (login server) heißt <name>.azurecr.io. Mit der Funktion Domain Name Label enthält der Servername laut Microsoft einen Hashwert; lesen Sie loginServer aus der Ausgabe ab.

Die Stufen

Beim Anlegen wählen Sie die Stufe (SKU, im Portal „Pricing Plan“). Die Zahlen stammen aus Microsofts Seite „SKU features and limits“ (11.11.2026):

Basic Standard Premium
Gedacht für Einstieg, Lernen, geringe Last viele Produktionsfälle große Last, höchste Grenzen
Eingeschlossener Speicher 10 GiB 100 GiB 500 GiB
Webhooks 2 10 500
Geo-Replikation nein nein ja
Private Endpunkte nein nein ja

Alle Stufen haben dieselben Programmierschnittstellen. Die Stufe lässt sich später ohne Ausfall ändern (az acr update --name <registry> --sku Premium); beim Zurückstufen von Premium müssen Geo-Replikationen vorher entfernt werden. Mehr Speicher als eingeschlossen kostet extra.

Anlegen und Images hineinbringen

PowerShell
az group create --name rg-az104-container --location germanywestcentral
az acr create --resource-group rg-az104-container --name <registryname> --sku Basic

Drei Wege bringen ein Image in die Registry:

Weg Befehl Braucht lokal
Kopieren aus einer anderen Registry az acr import nur Azure CLI, kein Docker
In Azure bauen az acr build (ACR Tasks) Dockerfile und Quellordner, kein Docker
Lokal bauen und hochladen docker tag, docker push Docker, vorher az acr login

Microsoft weist darauf hin, dass az acr import keine lokale Docker-Installation braucht und auch in Azure Cloud Shell läuft. Die Cloud Shell hat dagegen nicht den Docker-Dienst (dockerd), den docker push braucht. Für az acr build nennt Microsoft einen Hinweis: ACR-Tasks-Läufe sind zeitweise für Abonnements mit Azure-Guthaben pausiert. Dieser Kurs nimmt deshalb für die Übung az acr import.

PowerShell
az acr import --name <registryname> --source mcr.microsoft.com/azuredocs/aci-helloworld:latest --image aci-helloworld:v1
az acr repository list --name <registryname> --output table
az acr repository show-tags --name <registryname> --repository aci-helloworld --output table

Die ersten beiden Befehle nehmen nur den Registrynamen, nicht den Anmeldeserver. Die Liste zeigt in einer Spalte die Namen der Repositories, die zweite die Tags. Azure PowerShell kennt dafür Import-AzContainerRegistryImage. Laut Microsoft braucht die importierende Identität das Recht, Importe auf der Ziel-Registry auszulösen (Rolle Container Registry Data Importer and Data Reader).

Zugriff auf die Registry

Weg Wann
Microsoft-Entra-Identität (az acr login, Rollenzuweisung) der Normalfall für Menschen, Dienstprinzipale und verwaltete Identitäten
Admin-Konto (az acr update --admin-enabled true) standardmäßig aus; ein Konto mit Vollzugriff, gedacht für Tests; nicht unter mehreren Personen teilen
Repositorybezogene Token eng begrenzter Zugriff ohne Entra-Identität

Die Rollen für Images heißen AcrPull (Images ziehen) und AcrPush (ziehen und hochladen). Eine verwaltete Identität einer Container App bekommt AcrPull auf der Registry, dann zieht die App ihr Image ohne Passwort. Eine Registry kann im Modus „RBAC plus ABAC für Repositories“ angelegt werden (--role-assignment-mode); dort gelten AcrPull und AcrPush nicht, man nimmt Container Registry Repository Reader und Writer. Den Modus zeigt az acr show --name <registryname> --query roleAssignmentMode. Der Token von az acr login gilt drei Stunden.

Das Portal braucht für die Bereitstellung eines Images direkt aus der Registry in Container Instances oder Container Apps laut Microsoft das Admin-Konto.