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 (ACR) mithilfe einer Azure Resource Manager (ARM)-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

Dieser Fehler tritt auf, wenn ein Benutzer die Rolle Container Registry Contributor and Data Access Configuration Administrator für eine Registrierung besitzt – was das Löschen von Replikaten über die Azure CLI ermöglicht –, aber keine Leseberechtigungen für das Abonnement hat. Der Lesezugriff auf das Abonnement ist erforderlich, um Replikate über das Portal zu löschen. 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/

Wie können alle Manifeste gelöscht werden, auf die in einem Repository durch kein Tag verwiesen wird?

Wenn Sie auf Bash sind:

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. Dieser Schritt stellt sicher, 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 ist eingestellt.

Wird Inhaltsvertrauen von Azure Container Registry unterstützt?

Ja, Sie können vertrauenswürdige Images in Azure Container Registry mit Docker Content Trust verwenden. 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).

Sie sollten diese öffentlichen Schlüssel und Zertifikate nach der gesamten TUF-Überprüfung durch den Docker- und Notary-Client überprüfen.

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

ACR unterstützt die rollenbasierte Microsoft Entra-Zugriffssteuerung (RBAC) und integrierte Rollen , die unterschiedliche Ebenen von Microsoft Entra-basierten Berechtigungen bereitstellen, z. B. das Erteilen von Bild-Push- oder Pullberechtigungen, ohne berechtigungen für die gesamte Registrierung zu erteilen.

Optional können Sie [Microsoft Entra attribute-based access control (ABAC)] verwenden, um Microsoft Entra-basierte Repositoryberechtigungen zu verwalten und Rollenzuweisungen für bestimmte Repositorys zu beschränken.

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

Quarantäne von Images ist derzeit eine Previewfunktion von ACR. Der Quarantänemodus einer Registrierung kann aktiviert werden, sodass nur Images, die Sicherheitsscans bestehen, 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 z. B. Netzwerksicherheitsgruppenregeln (Network Security Group, NSG) so eingerichtet sind, dass eine VM Bilder nur aus Ihrer Azure-Containerregistrierung herunterladen kann, könnte Docker möglicherweise auf Fehler beim Herunterladen fremder oder nicht verteilbarer Schichten stoßen. 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. Speicher und beende 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, kann 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 eine Azure Virtual Machine (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.

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
  • Brandmauer
  • Verwenden des Portals aus einem öffentlichen Netzwerk für eine Registrierung, die nur privaten Zugriff zulässt
  • Werbeblocker
  • DNS-Fehler (Domain Name Server)

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. Aktualisieren Sie mithilfe von az acr update oder im Azure-Portal auf einen unterstützten Tarif.
  • 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 beim Angeben eines Repository-Namens in Repository-Operationen eine Fehlermeldung wie „Nicht unterstütztes Repository-Format“, „Ungültiges Format“ oder „Die angeforderten Daten existieren nicht“ angezeigt wird, überprüfen Sie die Schreibweise und Groß-/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 füge 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 Leitfaden 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 Fehler ist vorübergehend und tritt auf, wenn die Rollenzuweisung Ihrer verwalteten Identität noch nicht weitergegeben wird. 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 wird durch die Aktivierung der in Azure integrierten Richtlinie für ACR die Aktivierung von Administratoranmeldeinformationen verhindert?

Wenn die folgende integrierte Azure-Richtlinie auf den entsprechenden Richtlinienstatus gesetzt ist, hindert sie Benutzer daran, den Administratorkonto in ihrem Register zu aktivieren.

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

Nächste Schritte