Pushübertragung des ersten Images an eine private Containerregistrierung mit der Docker CLIPush your first image to a private Docker container registry using the Docker CLI

Eine Azure-Containerregistrierung speichert und verwaltet private Docker-Containerimages. Dies ähnelt der Art und Weise, wie Docker Hub öffentliche Docker-Images speichert.An Azure container registry stores and manages private Docker container images, similar to the way Docker Hub stores public Docker images. Für Ihre Containerregistrierung können Sie die Docker-Befehlszeilenschnittstelle (Docker CLI) für die Vorgänge Anmeldung, Push, Pull und andere Vorgänge verwenden.You can use the Docker command-line interface (Docker CLI) for login, push, pull, and other operations on your container registry.

In den folgenden Schritten laden Sie ein offizielles Nginx-Image aus der öffentlichen Docker Hub-Registrierung herunter, kennzeichnen es für Ihre private Azure-Containerregistrierung und übertragen es zuerst per Pushvorgang an Ihre Registrierung und dann per Pullvorgang aus der Registrierung.In the following steps, you download an official Nginx image from the public Docker Hub registry, tag it for your private Azure container registry, push it to your registry, and then pull it from the registry.

VoraussetzungenPrerequisites

  • Azure-Containerregistrierung: Erstellen Sie in Ihrem Azure-Abonnement eine Containerregistrierung.Azure container registry - Create a container registry in your Azure subscription. Verwenden Sie beispielsweise das Azure-Portal oder die Azure CLI.For example, use the Azure portal or the Azure CLI.
  • Docker CLI – Darüber hinaus muss Docker lokal installiert sein.Docker CLI - 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.

Anmelden an einer RegistrierungLog in to a registry

Es gibt verschiedene Möglichkeiten für die Authentifizierung bei Ihrer privaten Containerregistrierung.There are several ways to authenticate to your private container registry. Die empfohlene Methode bei Verwendung einer Befehlszeile ist der Azure CLI-Befehl az acr login.The recommended method when working in a command line is with the Azure CLI command az acr login. Beispiel für die Anmeldung bei einer Registrierung mit dem Namen myregistry:For example, to log in to a registry named myregistry:

az acr login --name myregistry

Sie können sich auch mit docker login anmelden.You can also log in with docker login. Angenommen, Sie haben Ihrer Registrierung für ein Automatisierungsszenario einen Dienstprinzipal zugewiesen.For example, you might have assigned a service principal to your registry for an automation scenario. Wenn Sie den folgenden Befehl ausführen, geben Sie bei Aufforderung interaktiv die Haupt-AppID (Benutzername) und das Kennwort des Dienstes an.When you run the following command, interactively provide the service principal appID (username) and password when prompted. Best Practices zur Verwaltung von Anmeldeinformationen finden Sie in der Befehlsreferenz Docker-Anmeldung:For best practices to manage login credentials, see the docker login command reference:

docker login myregistry.azurecr.io

Beide Befehle geben nach Abschluss Login Succeeded zurück.Both commands return Login Succeeded once completed.

Tipp

Geben Sie immer den vollqualifizierten Registrierungsnamen (nur Kleinbuchstaben) an, wenn Sie docker login verwenden und Images für die Pushübertragung in Ihre Registrierung kennzeichnen.Always specify the fully qualified registry name (all lowercase) when you use docker login and when you tag images for pushing to your registry. In den Beispielen in diesem Artikel wird der vollqualifizierte Name myregistry.azurecr.io verwendet.In the examples in this article, the fully qualified name is myregistry.azurecr.io.

Übertragen des offiziellen Nginx-Images per PullvorgangPull the official Nginx image

Übertragen Sie zunächst das öffentliche Nginx-Image per Pullvorgang auf Ihren lokalen Computer.First, pull the public Nginx image to your local computer.

docker pull nginx

Lokales Ausführen des ContainersRun the container locally

Führen Sie den folgenden docker run-Befehl aus, um eine lokale Instanz des Nginx-Containers interaktiv (-it) auf Port 8080 zu starten.Execute following docker run command to start a local instance of the Nginx container interactively (-it) on port 8080. Das Argument --rm gibt an, dass der Container entfernt werden soll, wenn Sie ihn beenden.The --rm argument specifies that the container should be removed when you stop it.

docker run -it --rm -p 8080:80 nginx

Navigieren Sie zu http://localhost:8080, um die von NGINX bereitgestellte Standardwebseite im ausgeführten Container anzuzeigen.Browse to http://localhost:8080 to view the default web page served by Nginx in the running container. Eine Seite ähnlich der folgenden wird angezeigt:You should see a page similar to the following:

Nginx auf lokalem Computer

Da Sie den Container interaktiv mit -it gestartet haben, können Sie nach dem Navigieren im Browser die Ausgabe des Nginx-Servers in der Befehlszeile sehen.Because you started the container interactively with -it, you can see the Nginx server's output on the command line after navigating to it in your browser.

Drücken Sie zum Beenden und Entfernen des Containers die Tastenkombination Control+C.To stop and remove the container, press Control+C.

Erstellen eines Alias des ImagesCreate an alias of the image

Verwenden Sie docker tag, um einen Alias des Images mit vollqualifiziertem Pfad zur Registrierung zu erstellen.Use docker tag to create an alias of the image with the fully qualified path to your registry. In diesem Beispiel wird der samples-Namespace angegeben, um den Stamm der Registrierung nicht zu überladen.This example specifies the samples namespace to avoid clutter in the root of the registry.

docker tag nginx myregistry.azurecr.io/samples/nginx

Weitere Informationen zum Kennzeichnen mit Namespaces finden Sie unter Bewährte Methoden für Azure Container Registry im Abschnitt Repositorynamespaces.For more information about tagging with namespaces, see the Repository namespaces section of Best practices for Azure Container Registry.

Übertragen des Images per Push in Ihre RegistrierungPush the image to your registry

Nachdem Sie das Image mit dem vollqualifizierten Pfad in Ihrer privaten Registrierung gekennzeichnet haben, können Sie es nun per Pushvorgang mit docker push in die Registrierung übertragen:Now that you've tagged the image with the fully qualified path to your private registry, you can push it to the registry with docker push:

docker push myregistry.azurecr.io/samples/nginx

Übertragen des Images aus Ihrer Registrierung per PullPull the image from your registry

Verwenden Sie den Befehl docker pull, um das Image per Pullvorgang aus Ihrer Registrierung zu übertragen:Use the docker pull command to pull the image from your registry:

docker pull myregistry.azurecr.io/samples/nginx

Starten des Nginx-ContainersStart the Nginx container

Verwenden Sie den Befehl docker run, um das Image auszuführen, das Sie per Pullvorgang aus der Registrierung übertragen haben:Use the docker run command to run the image you've pulled from your registry:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Navigieren Sie zu http://localhost:8080, um den ausgeführten Container anzuzeigen.Browse to http://localhost:8080 to view the running container.

Drücken Sie zum Beenden und Entfernen des Containers die Tastenkombination Control+C.To stop and remove the container, press Control+C.

Entfernen des Images (optional)Remove the image (optional)

Wenn Sie das Nginx-Image nicht mehr benötigen, können Sie es mit dem Befehl docker rmi lokal löschen.If you no longer need the Nginx image, you can delete it locally with the docker rmi command.

docker rmi myregistry.azurecr.io/samples/nginx

Um Images aus Ihrer Azure-Containerregistrierung zu entfernen, können Sie den Azure CLI-Befehl az acr repository delete ausführen.To remove images from your Azure container registry, you can use the Azure CLI command az acr repository delete. Mit dem folgenden Befehl werden beispielsweise das durch das samples/nginx:latest-Tag referenzierte Manifest, alle eindeutigen Ebenendaten und alle anderen Tags gelöscht, die auf das Manifest verweisen.For example, the following command deletes the manifest referenced by the samples/nginx:latest tag, any unique layer data, and all other tags referencing the manifest.

az acr repository delete --name myregistry --image samples/nginx:latest

Nächste SchritteNext steps

Nachdem Sie sich mit den Grundlagen vertraut gemacht haben, können Sie mit der Verwendung Ihrer Registrierung beginnen!Now that you know the basics, you're ready to start using your registry! Stellen Sie beispielsweise Containerimages aus Ihrer Registrierung bereit:For example, deploy container images from your registry to:

Installieren Sie optional die Docker-Erweiterung für Visual Studio Code und die Azure-Kontoerweiterung für die Verwendung mit Ihren Azure-Containerregistrierungen.Optionally install the Docker Extension for Visual Studio Code and the Azure Account extension to work with your Azure container registries. In Visual Studio Code können Sie Pull- und Pushvorgänge für Images in einer Azure-Containerregistrierung oder auch ACR Tasks ausführen.Pull and push images to an Azure container registry, or run ACR Tasks, all within Visual Studio Code.