Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 polecenia azd deploy.
Uwierzytelnianie oparte na Dockerze jest wymagane tylko wtedy, gdy azd zarządza za Ciebie operacjami na obrazach, takimi jak pobieranie, budowanie, tagowanie lub przesyłanie obrazów. Jeśli usługa jest skonfigurowana przy użyciu services.<name>.docker.imagePassthrough: true, element azd wykorzystuje ponownie skonfigurowany obraz zdalny bez zmian. W takim przypadku azd nie wymaga platformy Docker ani narzędzia Podman i nie wykonuje żadnych kroków uwierzytelniania rejestru ani cyklu życia obrazu dla tej usługi.
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.
Pobieranie z zewnętrznego rejestru kontenerów
W tym przykładzie podczas wdrażania azd kontener jest pobierany z docker.io/username/nginx:latest, a usługa aplikacji kontenerowej odwołuje się do niego bezpośrednio.
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.
Aby wdrożyć obraz zdalny bez wymagania platformy Docker lub Podman, ustaw services.<name>.docker.imagePassthrough: true i podaj w pełni kwalifikowany obraz, w tym rejestr, w pliku 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 ma następujące ograniczenia:
- Wymaga ustawienia
services.<name>.image. - Nie można go połączyć z
docker.remoteBuild. - Nie obsługuje flag zastępowania obrazu
azd publish,--from-packagei--todla tej usługi.
Pobieranie, oznaczanie tagiem i wysyłanie 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 przesyłanie do zewnętrznego rejestru przy użyciu azd deploy
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.