Üçüncü taraf kapsayıcı kayıt defterlerini kullanma

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.

Kimlik Doğrulaması

Dış kapsayıcı kayıt defterinizde komutunu çalıştırın docker login ve kimlik doğrulaması sağlayı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 dosyasındaki bir dış kapsayıcı kayıt defterinden azd görüntü göndermek ve çekmek için yapılandırabilirsinizazure.yaml. Daha fazla kapsayıcı kayıt defteri desteği, dağıtım iş akışlarınız için daha fazla esneklik sağlar.

Dış kapsayıcı kayıt defterinden çekme

Bu örnekte, dağıtım sırasında azd kapsayıcıdan docker.io/username/nginx:latest alınır ve kapsayıcı uygulama 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

Containerapp infra yapılandırmanız, özel kapsayıcı kayıt defterlerinden kapsayıcı çekerken kimlik bilgilerini yapılandırmalıdır.

Dış kayıt defterine ç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.