Condividi tramite


Usare registri contenitori di terze parti

L'interfaccia della riga di comando per sviluppatori di Azure (azd) supporta registri contenitori di terze parti esterni per la distribuzione. Per usare questa funzionalità, è necessario eseguire manualmente l'autenticazione nel registro contenitori esterno prima di chiamare azd la distribuzione.

Autenticazione

Eseguire docker login ed eseguire l'autenticazione nel registro contenitori esterno. Potrebbe essere necessario seguire altri passaggi di installazione o configurazione per il provider del Registro di sistema specifico.

docker login <your-registry>

Scenari di esempio

È possibile configurare azd per eseguire il push e il pull di immagini da un registro contenitori esterno nel azure.yaml file del modello. Il supporto per più registri contenitori offre maggiore flessibilità per i flussi di lavoro di distribuzione.

Eseguire il pull dal registro contenitori esterno

In questo esempio, durante azd la distribuzione del contenitore viene eseguito il pull del docker.io/username/nginx:latest contenitore e viene fatto riferimento direttamente dal servizio app contenitore.

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

Nota

La configurazione dell'infrastruttura containerapp deve configurare le credenziali durante il pull dei contenitori dai registri contenitori privati.

Pull, tag e push nel Registro di sistema esterno

Si consideri un azure.yaml file con la configurazione seguente:

# 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   

Il azd deploy comando esegue il pull dell'immagine nginx configurata. In questo caso, si tratta di un'immagine pubblica nell'hub Docker, quindi azd retaga il contenitore/immagine e lo inserisce nel registro Docker.

Compilazione, tag e push nel registro esterno in azd deploy

Si consideri un azure.yaml file con la configurazione seguente:

# 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

Il azd deploy comando compila il contenitore, lo contrassegna ed esegue il push nel registro Docker.