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 i passaggi di configurazione o di installazione aggiuntivi 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 registri contenitori aggiuntivi 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   

Durante una chiamata all'immagine azd deploy nginx verrà eseguito il pull dall'immagine configurata. In questo caso si tratta di un'immagine pubblica nell'hub Docker. Il contenitore/immagine verrà retagged e inserito 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

Durante azd deploy la compilazione dell'origine del contenitore, il tag e il push nel registro Docker.