Tutorial: Bereitstellen und Verwenden von Azure Container Registry (ACR)

Bei Azure Container Registry (ACR) handelt es sich um eine private Registrierung für Containerimages. Mit einer privaten Containerregistrierung können Sie Ihre Anwendungen und benutzerdefinierten Code auf sichere Weise erstellen und bereitstellen. In diesem Tutorial – Teil 2 von 7 – stellen Sie eine ACR-Instanz bereit und übertragen mithilfe von Push ein Containerimage an diese. Folgendes wird vermittelt:

  • Erstellen einer ACR-Instanz
  • Kennzeichnen eines Containerimages für ACR
  • Hochladen des Images in die ACR-Instanz
  • Anzeigen von Images in der Registrierung

In nachfolgenden Tutorials wird diese ACR-Instanz in einen Kubernetes-Cluster in AKS integriert, und eine Anwendung wird anhand des Images bereitgestellt.

Voraussetzungen

Im vorherigen Tutorial wurde ein Containerimage für eine einfache Azure Voting-App erstellt. Wenn Sie das Image der Azure Voting-App nicht erstellt haben, kehren Sie zu Tutorial 1: Vorbereiten einer Anwendung für AKS zurück.

Für dieses Tutorial müssen Sie mindestens Version 2.0.53 der Azure CLI ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.

Erstellen einer Azure-Containerregistrierung

Zum Erstellen einer ACR-Instanz benötigen Sie zunächst eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Sie Azure-Ressourcen bereitstellen und verwalten.

  1. Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe.
az group create --name myResourceGroup --location eastus
  1. Erstellen Sie mit dem Befehl az acr create eine ACR-Instanz, und geben Sie einen eigenen Registrierungsnamen an. Der Registrierungsname muss innerhalb von Azure eindeutig sein und zwischen 5 und 50 alphanumerische Zeichen enthalten. Im weiteren Verlauf dieses Tutorials wird <acrName> als Platzhalter für den Namen der Containerregistrierung verwendet. Die Basic-SKU ist ein kostenoptimierter Einstiegspunkt für Entwicklungszwecke, der ein ausgewogenes Verhältnis von Speicher und Durchsatz bietet.
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic

Anmelden bei der Containerregistrierung

Melden Sie sich mit dem Befehl az acr login bei Ihrer ACR-Instanz an, und geben Sie den eindeutigen Namen der Containerregistrierung aus dem vorherigen Schritt an.

az acr login --name <acrName>

Nach Abschluss des Vorgangs wird eine Erfolgsmeldung zurückgegeben.

Markieren eines Containerimages

Verwenden Sie den Befehl docker images, um eine Liste Ihrer aktuellen lokalen Images anzuzeigen.

docker images

Die folgende Beispielausgabe zeigt eine Liste der aktuellen lokalen Docker-Images:

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        7 minutes ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                     python3.6           a16ce562e863        6 weeks ago         944MB

Markieren Sie zur Verwendung des Containerimages azure-vote-front mit ACR das Image unbedingt mit der Anmeldeserveradresse Ihrer Registrierung. Das Tag wird beim Übertragen von Containerimages per Push in eine Imageregistrierung für das Routing verwendet.

Führen Sie den Befehl az acr list aus, um die Anmeldeserveradresse abzurufen, und fragen Sie den loginServer ab.

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

Markieren Sie dann Ihr lokales Image azure-vote-front mit der acrLoginServer-Adresse der Containerregistrierung. Fügen Sie am Ende des Imagenamens :v1 hinzu, um die Imageversion anzugeben:

docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1

Führen Sie docker images erneut aus, um sich zu vergewissern, dass die Tags angewendet wurden.

docker images

Die folgende Beispielausgabe zeigt ein Image, das mit der ACR-Instanzadresse und einer Versionsnummer gekennzeichnet wurde:

REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front    v1                  84b41c268ad9        16 minutes ago      944MB
mycontainerregistry.azurecr.io/azure-vote-front v1                  84b41c268ad9        16 minutes ago      944MB
mcr.microsoft.com/oss/bitnami/redis             6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                      python3.6           a16ce562e863        6 weeks ago         944MB

Übertragen von Images in die Registrierung per Push

Übertragen Sie das Image azure-vote-front per Push mit dem Befehl docker push an Ihre ACR-Instanz. Stellen Sie sicher, dass Sie Ihre eigene acrLoginServer-Adresse als Imagenamen angeben.

docker push <acrLoginServer>/azure-vote-front:v1

Die Pushübertragung des Images an ACR kann einige Minuten dauern.

Auflisten von Images in der Registrierung

Führen Sie den Befehl az acr repository list aus, um eine Liste der Images zurückzugeben, die per Push an Ihre ACR-Instanz übertragen wurden, und geben Sie dafür Ihren eigenen <acrName> an.

az acr repository list --name <acrName> --output table

Die folgende Beispielausgabe listet das Image azure-vote-front in der Registrierung als verfügbar auf:

Result
----------------
azure-vote-front

Verwenden Sie den Befehl az acr repository show-tags, um die Tags für ein bestimmtes Image zu sehen.

az acr repository show-tags --name <acrName> --repository azure-vote-front --output table

Die folgende Beispielausgabe zeigt das in einem vorherigen Schritt markierte v1-Image:

Result
--------
v1

Nächste Schritte

In diesem Tutorial haben Sie eine ACR-Instanz erstellt und ein Image per Push für die Verwendung in einem AKS-Cluster übertragen. Sie haben Folgendes gelernt:

  • Erstellen einer ACR-Instanz
  • Kennzeichnen eines Containerimages für ACR
  • Hochladen des Images in die ACR-Instanz
  • Anzeigen von Images in der Registrierung

Im nächsten Tutorial erfahren Sie, wie Sie einen Kubernetes-Cluster in Azure bereitstellen.