Freigeben über


Abrufen von Images aus einer verbundenen Registrierung auf einem IoT Edge-Gerät per Pull

Um Images per Pull aus einer verbundenen Registrierung abzurufen, konfigurieren Sie ein Clienttoken, und übergeben Sie die Tokenanmeldeinformationen für den Zugriff auf den Inhalt der Registrierung.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Erstellen einer Bereichszuordnung

Verwenden Sie den Befehl az acr scope-map create, um eine Bereichszuordnung für den Lesezugriff auf das Repository hello-world zu erstellen:

# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>

az acr scope-map create \
  --name hello-world-scopemap \
  --registry $REGISTRY_NAME \
  --repository hello-world content/read \
  --description "Scope map for the connected registry."

Erstellen eines Clienttokens

Verwenden Sie den Befehl az acr token create, um ein Clienttoken zu erstellen und mit der neu erstellten Bereichszuordnung zu verknüpfen:

az acr token create \
  --name myconnectedregistry-client-token \
  --registry $REGISTRY_NAME \
  --scope-map hello-world-scopemap

Der Befehl gibt Details zum neu generierten Token zurück, einschließlich Kennwörtern.

Wichtig

Stellen Sie sicher, dass Sie die generierten Kennwörter speichern. Es handelt sich um einmalige Kennwörter, die nicht erneut abgerufen werden können. Sie können mit dem Befehl az acr token credential generate neue Kennwörter generieren.

Aktualisieren der verbundenen Registrierung mit dem Clienttoken

Verwenden Sie den Befehl az acr connected-registry update, um die verbundene Registrierung mit dem neu erstellten Clienttoken zu aktualisieren.

az acr connected-registry update \
  --name $CONNECTED_REGISTRY_RW \
  --registry $REGISTRY_NAME \
  --add-client-token myconnectedregistry-client-token

Abrufen eines Images aus der verbundenen Registrierung per Pull

Verwenden Sie auf einem Computer mit Zugriff auf das IoT Edge-Gerät den folgenden Beispielbefehl, um sich mithilfe der Clienttokenanmeldeinformationen bei der verbundenen Registrierung anzumelden. Best Practices zur Verwaltung von Anmeldeinformationen finden Sie in der Befehlsreferenz Docker-Anmeldung.

Achtung

Wenn Ihre verbundene Registrierung als unsichere Registrierung eingerichtet wurde, aktualisieren Sie die Liste der unsicheren Registrierungen in der Docker-Daemonkonfiguration so, dass sie die IP-Adresse (oder den FQDN) und den Port Ihrer verbundenen Registrierung auf dem IoT Edge-Gerät enthält. Diese Konfiguration sollte nur zu Testzwecken verwendet werden. Weitere Informationen finden Sie unter Testen einer unsicheren Registrierung.

docker login --username myconnectedregistry-client-token \
  --password <token_password> <IP_address_or_FQDN_of_connected_registry>:<port>

Stellen Sie in IoT Edge-Szenarien sicher, dass Sie den Port angeben, der zum Erreichen der verbundenen Registrierung auf dem Gerät verwendet wird. Beispiel:

docker login --username myconnectedregistry-client-token \
  --password xxxxxxxxxxx 192.0.2.13:8000

Verwenden Sie dann den folgenden Befehl, um das Image hello-world per Pull abzurufen:

docker pull <IP_address_or_FQDN_of_connected_registry>:<port>/hello-world

Nächste Schritte