Külső tárolóregisztrációs adatbázisok használata

Az Azure Developer CLI (azd) támogatja a külső tárolóregisztrációs adatbázisokat az üzembe helyezéshez. A funkció használatához manuálisan kell hitelesítenie magát a külső konténerregisztrációs adatbázisban, mielőtt meghívja a azd deploy parancsot.

Docker-alapú hitelesítésre csak akkor van szükség, ha a azd kezeli Ön helyett a képműveleteket, például a képek letöltését, összeállítását, címkézését vagy feltöltését. Ha egy szolgáltatás a(z) services.<name>.docker.imagePassthrough: true használatára van konfigurálva, a(z) azd változtatás nélkül újra felhasználja a beállított távoli rendszerképet. Ebben az esetben nincs szükség Dockerre vagy Podmanre, azd és nem hajt végre beállításjegyzék-hitelesítést vagy rendszerkép-életciklus-lépéseket a szolgáltatáshoz.

Hitelesítés

Futtassa a(z) docker login parancsot, és hitelesítse magát a külső tárolóregiszterben. Előfordulhat, hogy további telepítési vagy konfigurációs lépéseket kell követnie az adott beállításjegyzék-szolgáltatóhoz.

docker login <your-registry>

Példaforgatókönyvek

Beállíthatja azd , hogy leküldje és lekérje a rendszerképeket egy külső tárolóregisztrációs adatbázisból a azure.yaml sablon fájljában. A több tárolóregisztrációs adatbázis támogatása nagyobb rugalmasságot biztosít az üzembehelyezési munkafolyamatok számára.

Lekérés külső tárolóregisztrációs adatbázisból

Ebben a példában a(z) azd üzembe helyezése során a tároló le lesz húzva a(z) docker.io/username/nginx:latest helyről, és a Container Apps szolgáltatás közvetlenül hivatkozik rá.

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

Megjegyzés

A tárolóalkalmazás infrakonfigurációjának hitelesítő adatokat kell konfigurálnia, amikor tárolókat kér le a privát tárolóregisztrációs adatbázisokból.

Ha a Docker vagy a Podman nélkül szeretne távoli lemezképet üzembe helyezni, állítsa be services.<name>.docker.imagePassthrough: true és adja meg a teljes lemezképet, beleértve a beállításjegyzéket is, a következőben 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 a következő korlátozásokkal rendelkezik:

  • Be kell services.<name>.image állítani.
  • Nem kombinálható a(z) docker.remoteBuild elemmel.
  • Nem támogatja a azd publish lemezkép-felülbírálási jelzőket, --from-package és --to, ennél a szolgáltatásnál.

Letöltés, címkézés és feltöltés külső registrybe

Fontolja meg a azure.yaml következő konfigurációval rendelkező fájlokat:

# 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   

A azd deploy parancs lekéri a konfigurált nginx-lemezképet. Ebben az esetben ez egy nyilvános kép a Docker Hubon, ezért azd újratagolja a tárolót/képet, és feltölti a docker regisztrátorba.

Készítés, címkézés és feltöltés külső regiszterbe az azd deploy során.

Fontolja meg a azure.yaml következő konfigurációval rendelkező fájlokat:

# 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

A azd deploy parancs létrehozza a tárolót, címkézi és leküldi a docker-beállításjegyzékbe.