Schnellstart: Erstellen einer privaten Containerregistrierung mit Azure PowerShell

Azure Container Registry ist ein privater Registrierungsdienst zum Erstellen, Speichern und Verwalten von Containerimages und verwandten Artefakten. In dieser Schnellstartanleitung erstellen Sie eine Azure Container Registry-Instanz über Azure PowerShell. Ü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.

Voraussetzungen

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Für diese Schnellstartanleitung ist das Azure PowerShell-Modul erforderlich. Führen Sie Get-Module -ListAvailable Az aus, um Ihre installierte Version zu ermitteln. Wenn Sie eine Installation oder ein Upgrade ausführen müssen, finden Sie unter Install and configure Azure PowerShell (Installieren des Azure PowerShell-Moduls) Informationen dazu.

Darüber hinaus muss Docker lokal installiert sein. Docker stellt Pakete für macOS-, Windows- und Linux-Systeme bereit.

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.

Anmelden bei Azure

Melden Sie sich mit dem Befehl Connect-AzAccount bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.

Connect-AzAccount

Ressourcengruppe erstellen

Erstellen Sie nach Abschluss der Authentifizierung bei Azure mit New-AzResourceGroup eine Ressourcengruppe. Eine Ressourcengruppe ist ein logischer Container, in dem Sie Azure-Ressourcen bereitstellen und verwalten.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Erstellen einer Containerregistrierung

Erstellen Sie nun mit dem Befehl New-AzContainerRegistry eine Containerregistrierung in Ihrer neuen Ressourcengruppe.

Der Registrierungsname muss innerhalb von Azure eindeutig sein und zwischen 5 und 50 alphanumerische Zeichen enthalten. Im folgenden Beispiel wird eine Registrierung mit dem Namen „mycontainerregistry“ erstellt. Ersetzen Sie mycontainerregistry im folgenden Befehl, und führen Sie diesen dann zum Erstellen der Registrierung aus:

$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Basic

Tipp

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. Wählen Sie andere Ebenen für einen höheren Speicher- und Imagedurchsatz aus und nutzen Sie Funktionen wie die Verbindung über einen privaten Endpunkt. Ausführliche Informationen zu verfügbaren Dienstebenen (SKUs) finden Sie unter Azure Container Registry-Tarife.

Anmelden bei der Registrierung

Bevor Sie Push- und Pullvorgänge für Containerimages ausführen können, müssen Sie sich mit dem Cmdlet Connect-AzContainerRegistry bei der Registrierung anmelden. Im folgenden Beispiel werden die gleichen Anmeldeinformationen verwendet, mit denen Sie sich bei der Authentifizierung bei Azure mit dem Cmdlet Connect-AzAccount angemeldet haben.

Hinweis

Im folgenden Beispiel ist der Wert von $registry.Name der Ressourcenname, nicht der vollqualifizierte Registrierungsname.

Connect-AzContainerRegistry -Name $registry.Name

Der Befehl gibt nach Abschluss des Vorgangs Login Succeeded zurück.

Pushen eines Image in die Registrierung

Um ein Image mithilfe von Push an Ihre Azure Container Registry-Instanz übertragen zu können, benötigen Sie zunächst ein Image. Wenn Sie noch nicht über lokale Containerimages verfügen, führen Sie den folgenden docker pull-Befehl aus, um ein vorhandenes öffentliches Image abzurufen. In diesem Beispiel wird das Image hello-world aus Microsoft Container Registry gepullt.

docker pull mcr.microsoft.com/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. Der Name des Anmeldeservers wird im Format <registrierungsname>.azurecr.io (nur Kleinbuchstaben) angegeben (Beispiel: mycontainerregistry.azurecr.io).

Markieren Sie das Image mithilfe des Befehls docker tag. Ersetzen Sie <login-server> durch den Anmeldeservernamen Ihrer ACR-Instanz.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Beispiel:

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

Nun können Sie das Image mit docker push per Pushvorgang an die Registrierungsinstanz übertragen. Ersetzen Sie <login-server> durch den Anmeldeservernamen Ihrer Registrierungsinstanz. In diesem Beispiel wird das Repository hello-world mit dem Image hello-world:v1 erstellt.

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. (Beachten Sie, dass der Befehl docker rmi nicht das Image aus dem Repository hello-world in Ihrer Azure-Containerregistrierung entfernt.)

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

Ausführen des Images aus der Registrierung

Als Nächstes können Sie das Containerimage hello-world:v1 per Pull abrufen und mithilfe von docker run aus Ihrer Containerregistrierung ausführen:

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

Beispielausgabe:

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 Ressourcen

Wenn Sie die in dieser Schnellstartanleitung erstellten Ressourcen nicht mehr benötigen, verwenden Sie den Befehl Remove-AzResourceGroup, um die Ressourcengruppe, die Containerregistrierung und die darin gespeicherten Containerimages zu entfernen:

Remove-AzResourceGroup -Name myResourceGroup

Nächste Schritte

In dieser Schnellstartanleitung haben Sie mit Azure PowerShell eine Azure Container Registry-Instanz erstellt, ein Containerimage per Push übertragen und das Image per Pull aus der Registrierung abgerufen und ausgeführt. Fahren Sie mit den Azure Container Registry-Tutorials fort, um eingehendere Informationen zu ACR zu erhalten.