Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Geliştirici CLI'sı (azd), dağıtım için dış üçüncü taraf kapsayıcı kayıt defterlerini destekler. Bu özelliği kullanmak için deploy çağrısından azd önce dış kapsayıcı kayıt defterinde el ile kimlik doğrulaması yapmanız gerekir.
Docker tabanlı kimlik doğrulaması yalnızca görüntüleri çekme, oluşturma, etiketleme veya gönderme gibi görüntü işlemlerini sizin için yönetirken azd gereklidir. Bir hizmet services.<name>.docker.imagePassthrough: true ile yapılandırılmışsa, azd yapılandırılmış uzak görüntüyü olduğu gibi yeniden kullanır. Bu durumda Docker azd veya Podman gerektirmez ve bu hizmet için kayıt defteri kimlik doğrulaması veya görüntü yaşam döngüsü adımları gerçekleştirmez.
Kimlik Doğrulaması
docker login komutunu çalıştırın ve harici kapsayıcı kayıt defterinizde kimlik doğrulaması yapın. Belirli kayıt defteri sağlayıcınız için daha fazla kurulum veya yapılandırma adımı izlemeniz gerekebilir.
docker login <your-registry>
Örnek senaryolar
Şablonunuzun azure.yaml dosyasında, azd öğesini harici bir konteyner kayıt deposundan imaj gönderip çekecek şekilde yapılandırabilirsiniz. Daha fazla kapsayıcı kayıt defteri desteği, dağıtım iş akışlarınız için daha fazla esneklik sağlar.
Harici konteyner kayıt deposundan çekme
Bu örnekte, azd dağıtımı sırasında kapsayıcı docker.io/username/nginx:latest konumundan çekilir ve kapsayıcı uygulaması hizmeti tarafından doğrudan başvurulur.
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
Not
Container App altyapı yapılandırmanızda, özel kapsayıcı kayıt defterlerinden kapsayıcı çekmek için kimlik bilgilerinin yapılandırılması gerekir.
Docker veya Podman gerektirmeden uzak bir imajı dağıtmak için services.<name>.image ayarını yapın ve kayıt deposu da dahil olmak üzere tam nitelikli imajı services.<name>.docker.imagePassthrough: true içinde belirtin:
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şağıdaki kısıtlamalara sahiptir:
-
services.<name>.imageayarlanması gerekir. -
docker.remoteBuildile birleştirilemez. - Bu hizmet için
--from-packagegörüntü geçersiz kılma bayraklarını,--toveazd publishdesteklemez.
Harici kayıt deposundan çekme, etiketleme ve gönderme
Aşağıdaki yapılandırmaya sahip bir azure.yaml dosya düşünün:
# 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
komutu azd deploy , yapılandırılan nginx görüntüsünü çeker. Bu durumda, docker hub'ında genel bir görüntüdür, bu nedenle azd kapsayıcıyı/görüntüyü yeniden etiketler ve docker kayıt defterine gönderir.
Azd deploy üzerinde dış kayıt defterine derleme, etiketleme ve gönderme
Aşağıdaki yapılandırmaya sahip bir azure.yaml dosya düşünün:
# 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
azd deploy komutu kapsayıcıyı oluşturur, etiketler ve Docker kayıt deposuna gönderir.