Tutorial: Bereitstellen und Verwenden von Azure Container Registry
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. Sie lernen Folgendes:
- Erstellen einer Azure Container Registry-Instanz (ACR)
- 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 Azure Kubernetes Service (AKS) in Azure Stack HCI und Windows Server integriert, und eine Anwendung wird anhand des Images bereitgestellt.
Voraussetzungen
Im vorherigen Tutorial wurde beschrieben, wie Sie ein Containerimage für eine einfache Azure Voting-Anwendung erstellen. Wenn Sie das Image der Azure Voting-App noch nicht erstellt haben, kehren Sie zum Tutorial 1 – Erstellen von Containerimages 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 Azure Container Registry-Instanz benötigen Sie zunächst eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.
Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen myResourceGroup in der Region eastus erstellt:
az group create --name myResourceGroup --location eastus
Erstellen Sie mit dem Befehl az acr create eine Azure Container Registry-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. Geben Sie Ihren eigenen eindeutigen Registrierungsnamen an. 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
Zur Verwendung der ACR-Instanz müssen Sie sich zunächst anmelden. Führen Sie den Befehl az acr login aus, 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 Befehlsausgabe oben enthält eine Liste der aktuellen lokalen 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. Dieses 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 die loginServer-Adresse wie folgt ab:
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Markieren Sie jetzt 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
Ein Image ist mit der Adresse der ACR-Instanz und einer Versionsnummer markiert.
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
Nachdem das Image erstellt und markiert wurde, können Sie das Image azure-vote-front per Push an Ihre ACR-Instanz übertragen. Verwenden Sie docker push, und geben Sie Ihre eigene acrLoginServer-Adresse wie folgt als Imagename an:
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. Geben Sie Ihren eigenen <acrName>-Wert wie folgt 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 wie folgt, um die Tags für ein bestimmtes Image anzuzeigen:
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
Sie verfügen jetzt über ein Containerimage, das in einer privaten Azure Container Registry-Instanz gespeichert ist. Dieses Image wird im nächsten Tutorial aus ACR in einem Kubernetes-Cluster bereitgestellt.
Nächste Schritte
In diesem Tutorial haben Sie eine Azure Container Registry-Instanz erstellt und ein Image per Push für die Verwendung in einem Cluster in AKS in Azure Stack HCI und Windows Server übertragen. Es wurde Folgendes vermittelt:
- Erstellen einer Azure Container Registry-Instanz (ACR)
- 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.