Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Developer CLI (azd) mendukung registri kontainer pihak ketiga eksternal untuk penyebaran. Untuk menggunakan fitur ini, Anda perlu mengautentikasi secara manual ke registri kontainer eksternal sebelum memanggil penyebaran azd .
Autentikasi berbasis Docker hanya diperlukan ketika azd mengelola operasi image untuk Anda, seperti pull, build, tag, atau push image. Jika layanan dikonfigurasi dengan services.<name>.docker.imagePassthrough: true, azd menggunakan kembali image remote yang dikonfigurasi sebagaimana adanya. Dalam hal ini, azd tidak memerlukan Docker atau Podman dan tidak melakukan langkah-langkah autentikasi registri atau siklus hidup gambar untuk layanan tersebut.
Autentikasi
Jalankan docker login dan autentikasi ke registri kontainer eksternal Anda. Anda mungkin perlu mengikuti lebih banyak langkah penyiapan atau konfigurasi untuk penyedia registri tertentu Anda.
docker login <your-registry>
Skenario contoh
Anda dapat mengonfigurasi azd untuk mendorong dan menarik gambar dari registri kontainer eksternal dalam azure.yaml file templat Anda. Dukungan untuk lebih banyak registri kontainer memberikan fleksibilitas yang lebih besar untuk alur kerja penyebaran Anda.
Tarik dari registri kontainer eksternal
Dalam contoh ini, selama proses deployment azd, kontainer diambil dari docker.io/username/nginx:latest dan langsung dirujuk oleh layanan aplikasi kontainer.
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
Catatan
Konfigurasi infra containerapp Anda harus mengonfigurasi kredensial saat menarik kontainer dari registri kontainer privat.
Untuk menyebarkan gambar jarak jauh tanpa memerlukan Docker atau Podman, atur services.<name>.docker.imagePassthrough: true dan berikan gambar yang sepenuhnya memenuhi syarat, termasuk registri, di 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 memiliki batasan berikut:
-
services.<name>.imageharus diatur. - Ini tidak dapat dikombinasikan dengan
docker.remoteBuild. - Tidak mendukung flag penggantian gambar
--from-package,--todanazd publish, untuk layanan tersebut.
Tarik, tandai & dorong ke registri eksternal
azure.yaml Pertimbangkan file dengan konfigurasi berikut:
# 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
Perintah azd deploy menarik gambar nginx yang dikonfigurasi. Dalam hal ini, gambar publik di Docker Hub, jadi azd menandai ulang kontainer/gambar dan mengunggahnya ke Docker registry.
Bangun, tag, dan push ke registri eksternal saat azd deploy
azure.yaml Pertimbangkan file dengan konfigurasi berikut:
# 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
Perintah azd deploy membangun kontainer, menandainya dan mendorongnya ke registri docker.