Udostępnij za pośrednictwem


Korzystanie z rejestrów kontenerów innych firm

Interfejs wiersza polecenia dla deweloperów platformy Azure (azd) obsługuje zewnętrzne rejestry kontenerów innych firm na potrzeby wdrażania. Aby użyć tej funkcji, należy ręcznie uwierzytelnić się w zewnętrznym rejestrze kontenerów przed wywołaniem azd wdrożenia.

Uwierzytelnianie

Uruchom docker login i uwierzytelnij się w zewnętrznym rejestrze kontenerów. Może być konieczne wykonanie większej liczby kroków konfiguracji lub ustawień dla Twojego konkretnego dostawcy rejestru.

docker login <your-registry>

Przykładowe scenariusze

Możesz skonfigurować azd funkcję wypychania i ściągania obrazów z zewnętrznego rejestru kontenerów w azure.yaml pliku szablonu. Obsługa dodatkowych rejestrów kontenerów zapewnia większą elastyczność dla przepływów pracy wdrażania.

Ściąganie z zewnętrznego rejestru kontenerów

W tym przykładzie podczas azd wdrażania kontener jest ściągany z docker.io/username/nginx:latest i bezpośrednio przywoływane przez usługę app service kontenera.

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

Uwaga

Konfiguracja infrastruktury aplikacji kontenera musi konfigurować poświadczenia podczas ściągania kontenerów z prywatnych rejestrów kontenerów.

Ściąganie, tagowanie i wypychanie do rejestru zewnętrznego

Rozważ plik z następującą konfiguracją azure.yaml :

# 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   

Polecenie azd deploy ściąga skonfigurowany obraz nginx. W tym przypadku jest to publiczny obraz na Docker Hub, więc azd przepisuje tagi kontenera/obrazu i umieszcza go w rejestrze Dockera.

Kompilowanie, tagowanie i wypychanie do rejestru zewnętrznego we wdrożeniu azd

Rozważ plik z następującą konfiguracją azure.yaml :

# 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

Polecenie azd deploy kompiluje kontener, taguje go i wypycha go do rejestru platformy Docker.