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.
- Erstellen Sie mit dem Befehl
az group create
eine Ressourcengruppe.
az group create --name myResourceGroup --location eastus
- 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.