Bearbeiten

Freigeben über


Häufig gestellte Fragen: Azure Container Registry

Dieser Artikel behandelt häufig gestellte Fragen zu Azure Container Registry.

Hinweise zur Problembehandlung in der Registrierung finden Sie hier:

Ressourcenverwaltung

Kann ich eine Azure Container Registry-Instanz mithilfe einer Resource Manager-Vorlage erstellen?

Ja. Hier ist eine Vorlage, mit deren Hilfe Sie eine Registrierung erstellen können.

Gibt es in ACR Überprüfungen auf Sicherheitsrisiken für Images?

Ja. Konsultieren Sie die Dokumentation von Microsoft Defender für Cloud, Twistlock und Aqua.

Wie konfiguriere ich Kubernetes mit Azure Container Registry?

Siehe die Dokumentation zu Kubernetes und Anweisungen zu Azure Kubernetes Service.

Wie erhalte ich Administratoranmeldeinformationen für eine Containerregistrierung?

Wichtig

Das Administratorbenutzerkonto ist so ausgelegt, dass ein einzelner Benutzer auf die Registrierung zugreift (hauptsächlich für Testzwecke). Sie sollten die Administratorkonto-Anmeldeinformationen nicht für mehrere Benutzer freigeben. Für Benutzer und Dienstprinzipale wird für monitorlose Szenarien einzelne Identität empfohlen. Siehe Übersicht über die Authentifizierung.

Stellen Sie vor dem Abrufen von Administratoranmeldeinformationen sicher, dass die Registrierung des Administratorbenutzers aktiviert ist.

So rufen Sie Anmeldeinformationen mithilfe der Azure CLI ab

az acr credential show -n myRegistry

Verwenden von Azure PowerShell:

Invoke-AzureRmResourceAction -Action listCredentials -ResourceType Microsoft.ContainerRegistry/registries -ResourceGroupName myResourceGroup -ResourceName myRegistry

Wie erhalte ich Administratoranmeldeinformationen in einer Resource Manager-Vorlage?

Wichtig

Das Administratorbenutzerkonto ist so ausgelegt, dass ein einzelner Benutzer auf die Registrierung zugreift (hauptsächlich für Testzwecke). Sie sollten die Administratorkonto-Anmeldeinformationen nicht für mehrere Benutzer freigeben. Für Benutzer und Dienstprinzipale wird für monitorlose Szenarien einzelne Identität empfohlen. Siehe Übersicht über die Authentifizierung.

Stellen Sie vor dem Abrufen von Administratoranmeldeinformationen sicher, dass die Registrierung des Administratorbenutzers aktiviert ist.

So rufen Sie das erste Kennwort ab

{
    "password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[0].value]"
}

So rufen Sie das zweite Kennwort ab

{
    "password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[1].value]"
}

Das Löschen der Replikation schlägt mit dem Status „Verboten“ fehl, obwohl die Replikation über die Azure CLI oder Azure PowerShell gelöscht wird

Der Fehler wird angezeigt, wenn der Benutzer Berechtigungen für eine Registrierung hat, aber für das Abonnement keine Berechtigungen auf der Ebene „Leser“ hat. Um dieses Problem zu beheben, weisen Sie dem Benutzer die Berechtigung „Leser“ für das Abonnement zu:

az role assignment create --role "Reader" --assignee user@contoso.com --scope /subscriptions/<subscription_id> 

Firewallregeln werden erfolgreich aktualisiert, treten aber nicht in Kraft

Es dauert einige Zeit, bis Änderungen von Firewallregeln verbreitet werden. Nach dem Ändern der Firewalleinstellungen sollten Sie einige Minuten warten, bevor Sie diese Änderung überprüfen.

Registrierungsvorgänge

Wie greife ich auf die HTTP-API V2 für Docker-Registrierungen zu?

ACR unterstützt die HTTP-API V2 für Docker-Registrierungen. Der Zugriff auf die APIs erfolgt über https://<your registry login server>/v2/. Beispiel: https://mycontainerregistry.azurecr.io/v2/

Gewusst wie: Löschen aller Manifeste, auf die kein Tag in einem Repository verweist

Bash:

az acr manifest list-metadata --name myRepository --registry myRegistry --query "[?tags[0]==null].digest" --output tsv  | xargs -I% az acr repository delete --name myRegistry ---image myRepository@%

Mit PowerShell:

az acr manifest list-metadata --name myRepository --repository myRegistry --query "[?tags[0]==null].digest" --output tsv | %{ az acr repository delete --name myRegistry --image myRepository@$_ }

Hinweis

Sie können im Löschbefehl -y hinzufügen, um die Bestätigung zu überspringen.

Weitere Informationen finden Sie unter Löschen von Containerimages in Azure Container Registry.

Warum wird die Nutzung des Registrierungskontingents nach dem Löschen von Images nicht reduziert?

Diese Situation kann eintreten, wenn andere Containerimages noch auf die zugrunde liegenden Ebenen verweisen. Wenn Sie ein Image ohne Verweise löschen, wird die Registrierungsnutzung binnen weniger Minuten aktualisiert.

Wie überprüfe ich Speicherkontingentänderungen?

Erstellen Sie mithilfe der folgenden Docker-Datei ein Image mit einer 1-GB-Ebene. Dadurch wird sichergestellt, dass das Image eine Ebene hat, die mit keinem anderen Image in der Registrierung gemeinsam genutzt wird.

FROM alpine
RUN dd if=/dev/urandom of=1GB.bin  bs=32M  count=32
RUN ls -lh 1GB.bin

Erstellen Sie das Image, und übertragen Sie es per Push mithilfe der Docker CLI in Ihre Registrierung.

docker build -t myregistry.azurecr.io/1gb:latest .
docker push myregistry.azurecr.io/1gb:latest

Sie sollten sich im Azure-Portal davon überzeugen können, dass die Speichernutzung gestiegen ist. Sie können die Nutzung auch über die CLI abfragen.

az acr show-usage -n myregistry

Löschen Sie das Image mithilfe der Azure CLI oder des Portals, und überprüfen Sie nach wenigen Minuten die aktualisierte Nutzung.

az acr repository delete -n myregistry --image 1gb

Wie authentifiziere ich mich bei meiner Registrierung bei Ausführung der CLI in einem Container?

Sie müssen den Azure CLI-Container ausführen, indem Sie das Docker-Socket einbinden:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock azuresdk/azure-cli-python:dev

Installieren Sie im Container docker:

apk --update add docker

Authentifizieren Sie sich anschließend bei Ihrer Registrierung:

az acr login -n MyRegistry

So aktivieren Sie TLS 1.2

Aktivieren Sie TLS 1.2 mithilfe eines beliebigen aktuellen Docker-Clients (Version 18.03.0 und höher).

Wichtig

Ab dem 13. Januar 2020 setzt Azure Container Registry voraus, dass alle sicheren Verbindungen von Servern und Anwendungen TLS 1.2 verwenden. Die Unterstützung für TLS 1.0 und 1.1 wird eingestellt.

Wird Inhaltsvertrauen von Azure Container Registry unterstützt?

Ja, Sie können vertrauenswürdige Images in Azure Container Registry verwenden, da Docker Notary integriert wurde und aktiviert werden kann. Weitere Informationen finden Sie unter Inhaltsvertrauen in Azure Container Registry.

Wo befindet sich die Datei für den Fingerabdruck?

Unter ~/.docker/trust/tuf/myregistry.azurecr.io/myrepository/metadata:

  • Öffentliche Schlüssel und Zertifikate aller Rollen (mit Ausnahme von Delegierungsrollen) werden in root.json gespeichert.
  • Öffentliche Schlüssel und Zertifikate der Delegierungsrollen werden in der JSON-Datei der übergeordneten Rolle gespeichert (z.B. in targets.json für die Rolle targets/releases).

Es wird empfohlen, diese öffentlichen Schlüssel und Zertifikate nach der gesamten TUF-Überprüfung durch den Docker- und Notary-Client zu überprüfen.

Wie gewähre ich Zugriff auf Pull- oder Pushvorgänge für Images ohne Berechtigung zum Verwalten der Registrierungsressource?

ACR unterstützt benutzerdefinierte Rollen, die unterschiedliche Berechtigungsebenen bereitstellen. Insbesondere ermöglichen die Rollen AcrPull und AcrPush den Benutzern Pull- bzw. Pushvorgänge für Images ohne die Berechtigung zur Verwaltung der Registrierungsressource in Azure.

  • Azure-Portal: Ihre Registrierung > Zugriffssteuerung (IAM) > Hinzufügen (wählen Sie für die Rolle AcrPull oder AcrPush aus).

  • Azure CLI: Ermitteln Sie die Ressourcen-ID der Registrierung, indem Sie den folgenden Befehl ausführen:

    az acr show -n myRegistry
    

    Anschließend können Sie die Rolle AcrPull oder AcrPush einem Benutzer zuweisen (im folgenden Beispiel wird AcrPull verwendet):

    az role assignment create --scope resource_id --role AcrPull --assignee user@example.com
    

    Alternativ dazu können Sie die Rolle einem Dienstprinzipal zuweisen, der anhand seiner Anwendungs-ID identifiziert wird:

    az role assignment create --scope resource_id --role AcrPull --assignee 00000000-0000-0000-0000-000000000000
    

Die zugewiesene Person kann sich authentifizieren und auf Images in der Registrierung zugreifen.

  • So authentifizieren Sie sich bei einer Registrierung

    az acr login -n myRegistry 
    
  • So listen Sie Repositorys auf

    az acr repository list -n myRegistry
    
  • So rufen Sie ein Image per Pull ab

    docker pull myregistry.azurecr.io/hello-world
    

Bei ausschließlichem Verwenden der Rolle AcrPull oder AcrPush hat die zugewiesene Person nicht die Berechtigung, die Registrierungsressource in Azure zu verwalten. Mit az acr list oder az acr show -n myRegistry kann beispielsweise die Registrierung nicht angezeigt werden.

Wie aktiviere ich die automatische Quarantäne von Images für eine Registrierung?

Quarantäne von Images ist derzeit eine Previewfunktion von ACR. Sie können den Quarantänemodus einer Registry so aktivieren, dass nur die Images, die die Sicherheitsüberprüfung erfolgreich bestanden haben, für normale Benutzer sichtbar sind. Weitere Informationen finden Sie im GitHub-Repository zu ACR.

Wie aktiviere ich den anonymen Zugriff per Pull?

Weitere Informationen finden Sie unter Öffentlich Verfügbarmachen von Registrierungsinhalten.

Wie kann ich nicht verteilbare Ebenen an eine Registrierung pushen?

Eine nicht verteilbare Ebene in einem Manifest enthält einen URL-Parameter, aus dem Inhalte abgerufen werden können. Einige Anwendungsfälle für das Aktivieren des Pushens von nicht verteilbaren Ebenen sind Registrierungen mit Netzwerkeinschränkungen, Air Gap-Registrierungen mit eingeschränktem Zugriff oder Registrierungen ohne Internetverbindung.

Wenn Sie beispielsweise NSG-Richtlinien (Netzwerksicherheitsgruppe) so eingerichtet haben, dass eine VM (virtueller Computer) Images nur aus Ihrer Azure Container Registry-Instanz pullen kann, gibt Docker Fehler für fremde bzw. nicht verteilbare Ebenen aus. Ein Windows Server Core-Image würde beispielsweise fremde Ebenenverweise auf Azure Container Registry im Manifest enthalten und in diesem Szenario Fehler bei Pullvorgängen ausgeben.

So aktivieren Sie das Pushen von nicht verteilbaren Ebenen:

  1. Bearbeiten Sie die Datei daemon.json, die sich unter /etc/docker/ (Linux) und unter C:\ProgramData\docker\config\daemon.json (Windows Server) befindet. Wenn die Datei zuvor leer war, fügen Sie die folgenden Inhalte hinzu:

    {
      "allow-nondistributable-artifacts": ["myregistry.azurecr.io"]
    }
    

    Hinweis

    Der Wert ist ein Array von Registrierungsadressen, die durch Kommas getrennt sind.

  2. Speichern und beenden Sie die Datei.

  3. Starten Sie Docker neu.

Wenn Sie Images an die Registrierungen in der Liste pushen, werden ihre nicht verteilbaren Ebenen an die Registrierung gepusht.

Warnung

Nicht verteilbare Artefakte weisen in der Regel Einschränkungen dazu auf, wie und wo sie verteilt und freigegeben werden können. Verwenden Sie dieses Feature nur zum Pushen von Artefakten an private Registrierungen. Stellen Sie sicher, dass Sie jegliche Geschäftsbedingungen einhalten, die sich mit der Weiterverteilung von nicht verteilbaren Artefakten befassen.

Diagnose und Integritätsprüfungen

Überprüfen der Integrität mit „az acr check-health“

Informationen zur Behebung von Problemen mit der allgemeinen Umgebung und der Registrierung finden Sie unter Überprüfen der Integrität einer Azure-Containerregistrierung.

Docker pull fails with error: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) (Docker-Pullvorgang mit Fehler fehlgeschlagen: Net/http: Anforderung während des Wartens auf Verbindung abgebrochen [Client.Timeout-Wert beim Warten auf Header überschritten])

  • Wenn dieser Fehler ein vorübergehendes Problem ist, wird eine Wiederholung erfolgreich sein.
  • Wenn docker pull ständig ausfällt, kann dies an einem Problem mit dem Docker-Daemon liegen. Das Problem kann in der Regel durch einen Neustart des Docker-Daemons behoben werden.
  • Wenn dieses Problem nach dem Neustart des Docker-Daemons weiterhin besteht, liegt ggf. ein Problem mit der Netzwerkverbindung des Computers vor. Um zu überprüfen, ob das allgemeine Netzwerk auf dem Computer funktionsfähig ist, führen Sie den folgenden Befehl zum Testen der Endpunktkonnektivität aus. Die Mindestversion von az acr, die diesen Befehl für die Konnektivitätsprüfung enthält, ist 2.2.9. Aktualisieren Sie Ihre Azure-Befehlszeilenschnittstelle, falls Sie eine ältere Version verwenden.
az acr check-health -n myRegistry
  • Sie sollten für alle Docker-Clientvorgänge stets einen Wiederholungsmechanismus einrichten.

Docker-Pullvorgang ist langsam

Verwenden Sie das Speed-Tool, um die Netzwerk-Downloadgeschwindigkeit Ihres Computers zu testen. Wenn das Computernetzwerk langsam ist, sollten Sie die Azure-VM in derselben Region wie Ihre Registrierung verwenden, um die Netzwerkgeschwindigkeit zu verbessern.

Docker-Pushvorgang ist langsam

Verwenden Sie das Speed-Tool, um die Netzwerk-Uploadgeschwindigkeit Ihres Computers zu testen. Wenn das Computernetzwerk langsam ist, sollten Sie die Azure-VM in derselben Region wie Ihre Registrierung verwenden, um die Netzwerkgeschwindigkeit zu verbessern.

Docker-Pushvorgang erfolgreich, aber für den Docker-Pullvorgang tritt ein Fehler auf: Nicht autorisiert: Authentifizierung erforderlich

Dieser Fehler kann bei der Red Hat-Version des Docker-Daemons auftreten, bei der --signature-verification standardmäßig aktiviert ist. Sie können die Docker-Daemon-Optionen für Red Hat Enterprise Linux (RHEL) oder Fedora überprüfen, indem Sie den folgenden Befehl ausführen:

grep OPTIONS /etc/sysconfig/docker

Fedora 28 Server bietet beispielsweise die folgenden Docker-Daemon-Optionen:

OPTIONS='--selinux-enabled --log-driver=journald --live-restore'

Wenn --signature-verification=false fehlt, schlägt docker pull mit einem Fehler wie dem folgenden fehl:

Trying to pull repository myregistry.azurecr.io/myimage ...
unauthorized: authentication required

So beheben Sie den Fehler

  1. Fügen Sie der Docker-Daemon-Konfigurationsdatei /etc/sysconfig/docker die Option --signature-verification=false hinzu. Beispiel:

    OPTIONS='--selinux-enabled --log-driver=journald --live-restore --signature-verification=false'

  2. Starten Sie den Docker-Daemon-Dienst neu, indem Sie den folgenden Befehl ausführen:

    sudo systemctl restart docker.service
    

Details zu --signature-verification finden Sie, indem Sie man dockerd ausführen.

az acr login erfolgreich, aber für Docker tritt ein Fehler auf: "Nicht autorisiert: Authentifizierung erforderlich"

Stellen Sie sicher, dass Sie für die Server-URL Kleinbuchstaben verwenden (z. B. docker push myregistry.azurecr.io/myimage:latest), auch wenn der Name der Registrierungsressource auch aus Großbuchstaben oder Groß- und Kleinbuchstaben besteht (z. B. myRegistry).

Aktivieren und Abrufen der Debugprotokolle des Docker-Daemons

Starten Sie dockerd mit der Option debug. Erstellen Sie zunächst die Docker-Daemon-Konfigurationsdatei (/etc/docker/daemon.json), falls sie noch nicht vorhanden ist, und fügen Sie die Option debug hinzu:

{    
    "debug": true    
}

Starten Sie dann den Daemon neu. Beispiel für Ubuntu 14.04:

sudo service docker restart

Weitere Informationen finden Sie in der Dokumentation zu Docker.

  • Die Protokolle können je nach System an verschiedenen Speicherorten generiert werden. Unter Ubuntu 14.04 ist dies z.B. /var/log/upstart/docker.log.
    Weitere Informationen finden Sie in der Dokumentation zu Docker.

  • Für Docker für Windows werden die Protokolle unter %LOCALAPPDATA%/docker/ generiert. Möglicherweise sind jedoch noch nicht alle Debuginformationen enthalten.

    Um auf das vollständige Daemon-Protokoll zugreifen zu können, müssen Sie ggf. einige zusätzliche Schritte durchführen:

    docker run --privileged -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker alpine sh
    
    docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
    chroot /host
    

    Jetzt haben Sie Zugriff auf alle Dateien der VM, auf der dockerd ausgeführt wird. Das Protokoll befindet sich in /var/log/docker.log.

Neue Benutzerberechtigungen gelten nach Aktualisierung möglicherweise nicht sofort

Wenn Sie einem Dienstprinzipal neue Berechtigungen (neue Rollen) erteilen, wird die Änderung möglicherweise nicht sofort wirksam. Es gibt zwei mögliche Gründe:

  • Verzögerung der Rollenzuweisung bei Microsoft Entra. Normalerweise erfolgt dieser Vorgang schnell, kann aber aufgrund einer Weitergabeverzögerung einige Minuten dauern.

  • Die Berechtigungsverzögerung auf dem ACR-Tokenserver kann bis zu 10 Minuten betragen. Um Abhilfe zu schaffen, können Sie docker logout ausführen und sich dann nach einer Minute wieder mit dem gleichen Benutzer authentifizieren:

    docker logout myregistry.azurecr.io
    docker login myregistry.azurecr.io
    

ACR unterstützt derzeit nicht das Löschen der Stammreplikation durch die Benutzer. Die Problemumgehung besteht darin, die Erstellung der Stammreplikation in die Vorlage aufzunehmen, aber ihre Erstellung zu überspringen, indem Sie "condition": false wie unten gezeigt hinzufügen:

{
    "name": "[concat(parameters('acrName'), '/', parameters('location'))]",
    "condition": false,
    "type": "Microsoft.ContainerRegistry/registries/replications",
    "apiVersion": "2017-10-01",
    "location": "[parameters('location')]",
    "properties": {},
    "dependsOn": [
        "[concat('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
     ]
},

Authentifizierungsinformationen für direkte Aufrufe der REST-API sind nicht im ordnungsgemäßen Format angegeben

Sie können auf den Fehler InvalidAuthenticationInfo stoßen, insbesondere wenn Sie das curl-Tool mit der Option -L, --location verwenden (um Umleitungen zu folgen). Das Abrufen des Blobs mithilfe von curl mit der Option -L und der Standardauthentifizierung:

curl -L -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest

kann z.B. zur folgenden Antwort führen:

<?xml version="1.0" encoding="utf-8"?>
<Error><Code>InvalidAuthenticationInfo</Code><Message>Authentication information is not given in the correct format. Check the value of Authorization header.
RequestId:00000000-0000-0000-0000-000000000000
Time:2019-01-01T00:00:00.0000000Z</Message></Error>

Die eigentliche Ursache ist, dass einige Implementierungen von curl auf Umleitungen mit Headern aus der ursprünglichen Anforderung folgen.

Um das Problem zu beheben, müssen Sie Umleitungen manuell ohne die Header folgen. Geben Sie die Antwortheader mit der Option -D - von curl aus, und extrahieren Sie dann den Header Location:

REDIRECT_URL=$(curl -s -D - -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest | grep "^Location: " | cut -d " " -f2 | tr -d '\r')
curl $REDIRECT_URL

Warum werden im Azure-Portal nicht alle meine Repositorys oder Tags angezeigt?

Wenn Sie Microsoft Edge oder Internet Explorer als Browser verwenden, werden maximal 100 Repositorys oder Tags angezeigt. Wenn Ihre Registrierung mehr als 100 Repositorys oder Tags enthält, empfehlen wir Ihnen, entweder Firefox oder Chrome als Browser zu verwenden, um alle aufzulisten.

Warum kann das Azure-Portal keine Repositorys oder Tags abrufen?

Der Browser ist möglicherweise nicht in der Lage, die Anforderung zum Abrufen von Repositorys oder Tags an den Server zu senden. Dies könnte verschiedene Ursachen haben, z. B.:

  • Fehlende Netzwerkverbindung
  • Firewall
  • Verwenden des Portals aus einem öffentlichen Netzwerk für eine Registrierung, die nur privaten Zugriff zulässt
  • Werbeblocker
  • DNS-Fehler

Wenden Sie sich an Ihren Netzwerkadministrator, oder überprüfen Sie Ihre Netzwerkkonfiguration und -verbindungen. Führen Sie az acr check-health -n yourRegistry mithilfe Ihrer Azure CLI aus, um zu überprüfen, ob Ihre Umgebung eine Verbindung mit Container Registry herstellen kann. Außerdem könnten Sie es mit einer Inkognito- bzw. privaten Sitzung in Ihrem Browser probieren, um veraltete Browsercaches oder -cookies zu vermeiden.

Warum schlägt meine Pull- oder Pushanforderung mit einem unzulässigen Vorgang fehl?

Hier finden Sie einige Szenarios, bei denen Vorgänge möglicherweise nicht zulässig sind:

  • Klassische Registrierungen werden nicht mehr unterstützt. Führen Sie mithilfe von az acr update oder im Azure-Portal ein Upgrade auf einen unterstützten Tarif durch.
  • Das Image oder Repository ist möglicherweise gesperrt, sodass es nicht gelöscht oder aktualisiert werden kann. Sie können den Befehl az acr repository show verwenden, um aktuelle Attribute anzuzeigen.
  • Einige Vorgänge sind nicht zulässig, wenn das Image in Quarantäne gestellt wird. Weitere Informationen zur Quarantäne finden Sie hier.
  • Möglicherweise hat Ihre Registrierung das Speicherlimit erreicht.

Repositoryformat ist ungültig oder wird nicht unterstützt

Wenn Sie beim Angeben eines Repositorynamens in Repositoryvorgängen einen Fehler wie „nicht unterstütztes Repositoryformat“, „ungültiges Format“ oder „die angeforderten Daten sind nicht vorhanden“ sehen, überprüfen Sie die richtige Schreibweise einschließlich Groß- und Kleinschreibung des Namens. Gültige Repositorynamen dürfen nur alphanumerische Kleinbuchstaben, Punkte, Bindestriche, Unterstriche und Schrägstriche enthalten.

Wie erfasse ich HTTP-Ablaufverfolgungen unter Windows?

Voraussetzungen

  • Aktivieren Sie die Entschlüsselung von HTTPS in Fiddler.
  • Aktivieren Sie Docker zur Verwendung eines Proxys über die Docker-Benutzeroberfläche.
  • Setzen Sie die Einstellung nach Abschluss des Vorgangs unbedingt zurück. Docker funktioniert nicht, wenn diese Option aktiviert ist und Fiddler nicht ausgeführt wird.

Windows-Container

Konfigurieren des Docker-Proxys für 127.0.0.1:8888

Linux-Container

Ermitteln Sie die IP-Adresse des virtuellen Switches des virtuellen Docker-Computers:

(Get-NetIPAddress -InterfaceAlias "*Docker*" -AddressFamily IPv4).IPAddress

Konfigurieren Sie den Docker-Proxy für die Ausgabe des vorherigen Befehls und für den Port 8888 (z. B. 10.0.75.1:8888).

Aufgaben

Wie breche ich alle Ausführungen ab?

Mit den folgenden Befehlen werden alle ausgeführten Aufgaben in der angegebenen Registrierung abgebrochen.

az acr task list-runs -r $myregistry --run-status Running --query '[].runId' -o tsv \
| xargs -I% az acr task cancel-run -r $myregistry --run-id %

Wie binde ich den Ordner „.git“ in den Befehl „az acr build“ ein?

Wenn Sie einen lokalen Quellordner an den Befehl az acr build übergeben, wird der Ordner .git standardmäßig aus dem hochgeladenen Paket ausgeschlossen. Sie können eine .dockerignore-Datei mit der folgenden Einstellung erstellen. Sie weist den Befehl an, alle Dateien unter .git im hochgeladenen Paket wiederherzustellen.

!.git/**

Diese Einstellung gilt auch für den Befehl az acr run.

Unterstützen Aufgaben „GitLab for Source“-Trigger?

„GitLab for Source“-Trigger werden derzeit nicht unterstützt.

Welchen Git-Repositoryverwaltungsdienst unterstützen Aufgaben?

Git-Dienst Quellkontext Manueller Build Automatisches Erstellen durch Committrigger
GitHub https://github.com/user/myapp-repo.git#mybranch:myfolder Ja Ja
Azure Repos https://dev.azure.com/user/myproject/_git/myapp-repo#mybranch:myfolder Ja Ja
GitLab https://gitlab.com/user/myapp-repo.git#mybranch:myfolder Ja Nein
BitBucket https://user@bitbucket.org/user/mayapp-repo.git#mybranch:myfolder Ja Nein

Problembehandlung bei Fehlermeldung bei Ausführung

Fehlermeldung Handbuch zur Problembehandlung
Da kein Zugriff auf den virtuellen Computer konfiguriert war, wurden keine Abonnements gefunden Dies kann vorkommen, wenn Sie az login --identity in ihrer ACR-Aufgabe verwenden. Dieser vorübergehende Fehler tritt auf, wenn die Rollenzuweisung Ihrer verwalteten Identität nicht weitergegeben wurde. Warten Sie einige Sekunden, bis der Wiederholungsversuch funktioniert.

CI/CD-Integration

Wie lässt sich das Problem behoben, dass die Erstellung Agentpools aufgrund von Timeoutproblemen fehlschlägt?

Richten Sie die richtigen Firewallregeln für die vorhandenen Netzwerksicherheitsgruppen oder benutzerdefinierten Routen ein. Warten Sie nach der Einrichtung einige Minuten, bis die Firewallregeln angewendet werden.

Wie werden durch die Aktivierung der integrierten Azure-Richtlinie für ACR-Blöcke Administratoranmeldeinformationen aktiviert?

Wenn die folgende integrierte Azure-Richtlinie auf den jeweiligen Richtlinienstatus festgelegt ist, hindert sie den Benutzer an der Aktivierung des Administratorbenutzers in seiner Registrierung.

Integrierte Azure-Richtlinie Richtlinienstatus Administratorstatus
Konfigurieren Sie Containerregistrierungen, um das lokale Administratorkonto zu deaktivieren. Ändern Deaktivieren
Für Containerregistrierungen muss das lokale Administratorkonto deaktiviert sein. Verweigern Deaktivieren
Für Containerregistrierungen muss das lokale Administratorkonto deaktiviert sein. Audit Nicht kompatibel

Nächste Schritte