Schnellstart: Erstellen einer privaten Containerregistrierung mit der Azure CLIQuickstart: Create a private container registry using the Azure CLI

Azure Container Registry ist ein verwalteter Docker-Containerregistrierungsdienst zum Speichern privater Docker-Containerimages.Azure Container Registry is a managed Docker container registry service used for storing private Docker container images. In diesem Leitfaden erfahren Sie, wie Sie mithilfe der Azure-Befehlszeilenschnittstelle eine Azure Container Registry-Instanz erstellen.This guide details creating an Azure Container Registry instance using the Azure CLI. Übertragen Sie anschließend mithilfe von Docker-Befehlen ein Containerimage per Push in die Registrierung. Rufen Sie abschließend das Image per Pull aus der Registrierung ab, und führen Sie es aus.Then, use Docker commands to push a container image into the registry, and finally pull and run the image from your registry.

Für diese Schnellstartanleitung müssen Sie die Azure-Befehlszeilenschnittstelle (Version 2.0.55 empfohlen) ausführen.This quickstart requires that you are running the Azure CLI (version 2.0.55 or later recommended). Führen Sie az --version aus, um die Version zu ermitteln.Run az --version to find the version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Darüber hinaus muss Docker lokal installiert sein.You must also have Docker installed locally. Für Docker sind Pakete erhältlich, mit denen Docker auf einem macOS-, Windows- oder Linux-System problemlos konfiguriert werden kann.Docker provides packages that easily configure Docker on any macOS, Windows, or Linux system.

Da Azure Cloud Shell nicht alle erforderlichen Docker-Komponenten (z.B. den dockerd-Daemon) enthält, können Sie Cloud Shell für diesem Schnellstart nicht verwenden.Because the Azure Cloud Shell doesn't include all required Docker components (the dockerd daemon), you can't use the Cloud Shell for this quickstart.

Erstellen einer RessourcengruppeCreate a resource group

Erstellen Sie mithilfe des Befehls az group create eine Ressourcengruppe.Create a resource group with the az group create command. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.An Azure resource group is a logical container into which Azure resources are deployed and managed.

Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus.The following example creates a resource group named myResourceGroup in the eastus location.

az group create --name myResourceGroup --location eastus

Erstellen einer ContainerregistrierungCreate a container registry

In dieser Schnellstartanleitung erstellen Sie eine Registrierung vom Typ Basic. Dabei handelt es sich um eine kostenoptimierte Option für Entwickler, die sich mit Azure Container Registry vertraut machen.In this quickstart you create a Basic registry, which is a cost-optimized option for developers learning about Azure Container Registry. Ausführliche Informationen zu verfügbaren Dienstebenen finden Sie unter Container Registry-Dienstebenen.For details on available service tiers, see Container registry service tiers.

Erstellen Sie mithilfe des Befehls az acr create eine ACR-Instanz.Create an ACR instance using the az acr create command. Der Registrierungsname muss innerhalb von Azure eindeutig sein und zwischen 5 und 50 alphanumerische Zeichen enthalten.The registry name must be unique within Azure, and contain 5-50 alphanumeric characters. Im folgenden Beispiel wird der Name myContainerRegistry007 verwendet.In the following example, myContainerRegistry007 is used. Ersetzen Sie diesen Namen durch einen eindeutigen Wert.Update this to a unique value.

az acr create --resource-group myResourceGroup \
  --name myContainerRegistry007 --sku Basic

Wenn die Registrierung erstellt wird, sieht die Ausgabe etwa wie folgt aus:When the registry is created, the output is similar to the following:

{
  "adminUserEnabled": false,
  "creationDate": "2019-01-08T22:32:13.175925+00:00",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry007",
  "location": "eastus",
  "loginServer": "mycontainerregistry007.azurecr.io",
  "name": "myContainerRegistry007",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sku": {
    "name": "Basic",
    "tier": "Basic"
  },
  "status": null,
  "storageAccount": null,
  "tags": {},
  "type": "Microsoft.ContainerRegistry/registries"
}

Beachten Sie loginServer in der Ausgabe. Dabei handelt es sich um den vollqualifizierten Registrierungsnamen (nur Kleinbuchstaben).Take note of loginServer in the output, which is the fully qualified registry name (all lowercase). Für den restlichen Teil dieser Schnellstartanleitung wird <registry-name> als Platzhalter für den Namen der Containerregistrierung verwendet, und <login-server> ist ein Platzhalter für den Anmeldeservernamen der Registrierung.Throughout the rest of this quickstart <registry-name> is a placeholder for the container registry name, and <login-server> is a placeholder for the registry's login server name.

Anmelden bei der RegistrierungLog in to registry

Bevor Sie Push- und Pullvorgänge für Containerimages ausführen können, müssen Sie sich bei der Registrierung anmelden.Before pushing and pulling container images, you must log in to the registry. Verwenden Sie hierzu den Befehl az acr login.To do so, use the az acr login command.

az acr login --name <registry-name>

Der Befehl gibt nach Abschluss die Meldung Login Succeeded zurück.The command returns a Login Succeeded message once completed.

Pushen eines Image in die RegistrierungPush image to registry

Um ein Image mithilfe von Push an Ihre Azure Container Registry-Instanz übertragen zu können, benötigen Sie zunächst ein Image.To push an image to an Azure Container registry, you must first have an image. Wenn Sie noch nicht über lokale Containerimages verfügen, führen Sie den folgenden docker pull-Befehl aus, um ein vorhandenes Image aus Docker Hub abzurufen.If you don't yet have any local container images, run the following docker pull command to pull an existing image from Docker Hub. Pullen Sie für dieses Beispiel das Image hello-world.For this example, pull the hello-world image.

docker pull hello-world

Bevor Sie ein Image mithilfe von Push in Ihre Registrierung übertragen können, müssen Sie es mit dem vollqualifizierten Namen des Anmeldeservers Ihrer Registrierungsinstanz markieren.Before you can push an image to your registry, you must tag it with the fully qualified name of your registry login server. Der Name des Anmeldeservers wird im Format <registry-name>.azurecr.io (nur Kleinbuchstaben) angegeben, z. B. mycontainerregistry.azurecr.io.The login server name is in the format <registry-name>.azurecr.io (all lowercase), for example, mycontainerregistry.azurecr.io.

Markieren Sie das Image mithilfe des Befehls docker tag.Tag the image using the docker tag command. Ersetzen Sie <login-server> durch den Anmeldeservernamen Ihrer ACR-Instanz.Replace <login-server> with the login server name of your ACR instance.

docker tag hello-world <login-server>/hello-world:v1

Beispiel:Example:

docker tag hello-world mycontainerregistry.azurecr.io/hello-world:v1

Nun können Sie das Image mit docker push per Pushvorgang an die Registrierungsinstanz übertragen.Finally, use docker push to push the image to the registry instance. Ersetzen Sie <login-server> durch den Anmeldeservernamen Ihrer Registrierungsinstanz.Replace <login-server> with the login server name of your registry instance. In diesem Beispiel wird das Repository hello-world mit dem Image hello-world:v1 erstellt.This example creates the hello-world repository, containing the hello-world:v1 image.

docker push <login-server>/hello-world:v1

Nachdem das Image in Ihre Containerregistrierung gepusht wurde, entfernen Sie das Image hello-world:v1 aus Ihrer lokalen Docker-Umgebung.After pushing the image to your container registry, remove the hello-world:v1 image from your local Docker environment. (Beachten Sie, dass der Befehl docker rmi nicht das Image aus dem Repository hello-world in Ihrer Azure-Containerregistrierung entfernt.)(Note that this docker rmi command does not remove the image from the hello-world repository in your Azure container registry.)

docker rmi <login-server>/hello-world:v1

Auflisten von ContainerimagesList container images

Im folgenden Beispiel werden die Repositorys in Ihrer Registrierung aufgelistet:The following example lists the repositories in your registry:

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

Ausgabe:Output:

Result
----------------
hello-world

Das folgende Beispiel listet die Tags des Repositorys hello-world auf.The following example lists the tags on the hello-world repository.

az acr repository show-tags --name <registry-name> --repository hello-world --output table

Ausgabe:Output:

Result
--------
v1

Ausführen des Images aus der RegistrierungRun image from registry

Als Nächstes können Sie das Containerimage hello-world:v1 per Pull abrufen und mithilfe von docker run aus Ihrer Containerregistrierung ausführen:Now, you can pull and run the hello-world:v1 container image from your container registry by using docker run:

docker run <login-server>/hello-world:v1  

Beispielausgabe:Example output:

Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.

[...]

Bereinigen von RessourcenClean up resources

Wenn Sie die Ressourcengruppe, die Containerregistrierung und die darin gespeicherten Containerimages nicht mehr benötigen, können Sie sie mit dem Befehl az group delete entfernen.When no longer needed, you can use the az group delete command to remove the resource group, the container registry, and the container images stored there.

az group delete --name myResourceGroup

Nächste SchritteNext steps

In dieser Schnellstartanleitung haben Sie mit der Azure CLI eine Azure Container Registry-Instanz erstellt, ein Containerimage per Push an die Registrierung übertragen und das Image per Pull aus der Registrierung abgerufen und ausgeführt.In this quickstart, you created an Azure Container Registry with the Azure CLI, pushed a container image to the registry, and pulled and ran the image from the registry. Fahren Sie mit den Azure Container Registry-Tutorials fort, um eingehendere Informationen zu ACR zu erhalten.Continue to the Azure Container Registry tutorials for a deeper look at ACR.