Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Developer CLI () unterstützt externe Containerregistries von Drittanbietern für Bereitstellungen. Um diese Funktion zu verwenden, müssen Sie sich vor dem Aufruf von deploy manuell bei der externen Containerregistrierung authentifizieren.
Docker-basierte Authentifizierung ist nur erforderlich, wenn azd Image-Vorgänge für Sie ausführt, z. B. beim Herunterladen, Erstellen, Taggen oder Hochladen von Images. Wenn ein Dienst mit services.<name>.docker.imagePassthrough: true konfiguriert ist, verwendet azd das konfigurierte Remote-Image unverändert wieder. In diesem Fall benötigt azd weder Docker noch Podman und führt für diesen Dienst keine Schritte zur Authentifizierung bei Registrys oder im Image-Lebenszyklus aus.
Authentifizierung
Führen Sie aus und authentifizieren Sie sich bei Ihrer externen Container-Registry. Möglicherweise müssen Sie weitere Setup- oder Konfigurationsschritte für Ihren jeweiligen Registrierungsanbieter ausführen.
docker login <your-registry>
Beispielszenarien
Sie können so konfigurieren, dass Images mit einer externen Containerregistrierung in der Datei Ihrer Vorlage gepusht und gepullt werden können. Die Unterstützung für weitere Containerregistrierungen bietet eine größere Flexibilität für Ihre Bereitstellungsworkflows.
Aus einer externen Container-Registry abrufen
In diesem Beispiel wird der Container während der Bereitstellung mit aus abgerufen und direkt vom Container-App-Dienst referenziert.
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: docker.io/<username>/nginx:latest
host: containerapp
Hinweis
Ihre containerapp infra-Konfiguration muss Anmeldeinformationen konfigurieren, wenn Sie Container aus privaten Containerregistrierungen abrufen.
Um ein Remote-Image ohne Docker oder Podman zu verwenden, setzen Sie services.<name>.docker.imagePassthrough: true und geben Sie das vollständig qualifizierte Image, einschließlich der Registry, in services.<name>.image an:
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: docker.io/<username>/nginx:latest
host: containerapp
docker:
imagePassthrough: true
imagePassthrough hat die folgenden Einschränkungen:
-
services.<name>.imagemuss festgelegt sein. - Es kann nicht mit
docker.remoteBuildkombiniert werden. - Es unterstützt für den Dienst die Flags zum Überschreiben von Images
azd publish,--from-packageund--tonicht.
Pullen, taggen und in externe Registry pushen
Betrachten Sie eine Datei mit der folgenden Konfiguration:
# azure.yaml
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
nginx:
image: nginx
host: containerapp
docker:
registry: docker.io/<username>
image: nginx
tag: latest
Der azd deploy Befehl ruft das konfigurierte nginx-Image ab. In diesem Fall handelt es sich um ein öffentliches Image auf Docker Hub, also azd markiert das Container-Image neu und schiebt es in das Docker-Register.
Erstellen, taggen und in eine externe Registry pushen bei azd deploy
Betrachten Sie eine -Datei mit der folgenden Konfiguration:
# azure.yaml
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
services:
api:
project: ./src/api
host: containerapp
docker:
registry: docker.io/<username>
image: todo-api
Der azd deploy Befehl erstellt den Container, markiert ihn und überträgt ihn an die Docker-Registrierung.