Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Developer CLI (azd) stöder externa containerregister från tredje part för distribution. Om du vill använda den här funktionen måste du manuellt autentisera till det externa containerregistret innan du anropar azd distributionen.
Docker-baserad autentisering krävs endast när azd hanterar imageåtgärder åt dig, till exempel att hämta, bygga, tagga eller överföra avbildningar. Om en tjänst har konfigurerats med services.<name>.docker.imagePassthrough: trueazd återanvänder du den konfigurerade fjärrbilden as-is. I så fall azd kräver inte Docker eller Podman och utför inga registerautentiserings- eller avbildningslivscykelsteg för den tjänsten.
Autentisering
Kör docker login och autentisera till ditt externa containerregister. Du kan behöva följa fler installations- eller konfigurationssteg för din specifika registerprovider.
docker login <your-registry>
Exempelscenarier
Du kan konfigurera azd att push-överföra och hämta avbildningar från ett externt containerregister i mallfilen azure.yaml . Stöd för fler containerregister ger större flexibilitet för dina distributionsarbetsflöden.
Hämta från ett externt containerregister
I det här exemplet hämtas containern från azd och refereras direkt av containerapptjänsten under docker.io/username/nginx:latest distributionen.
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
Kommentar
Konfigurationen av containerappens infrastruktur måste konfigurera autentiseringsuppgifter när containrar hämtas från privata containerregister.
Om du vill distribuera en fjärravbildning utan att Docker eller Podman krävs anger du services.<name>.docker.imagePassthrough: true och anger den fullständigt kvalificerade avbildningen, inklusive registret, i services.<name>.image:
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 har följande begränsningar:
- Det kräver att
services.<name>.imageanges. - Det kan inte kombineras med
docker.remoteBuild. - Den stöder inte avbildningens åsidosättningsflaggor
azd publish--from-packageoch--to, för den tjänsten.
Pull, tagga & pusha till externt register
Överväg en azure.yaml fil med följande 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
Kommandot azd deploy hämtar den konfigurerade nginx-avbildningen. I det här fallet är det en offentlig avbildning på Docker Hub, så azd omtaggar containern/avbildningen och överför den till Docker-registret.
Skapa, tagga och skicka till externt register på azd deploy
Överväg en azure.yaml fil med följande 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
Kommandot azd deploy skapar containern, taggar den och push-överför den till Docker-registret.