Aracılığıyla paylaş


Yeniden kullanım için kapsayıcı oluşturma

Yeniden kullanılabilecek Azure AI kapsayıcıları oluşturmak için bu kapsayıcı tariflerini kullanın. Kapsayıcılar, kapsayıcı başlatıldığında gerekmemesi için yapılandırma ayarlarının bir kısmı veya tamamıyla oluşturulabilir.

Bu yeni kapsayıcı katmanına (ayarlarla) sahip olduktan ve yerel olarak test ettikten sonra kapsayıcıyı bir kapsayıcı kayıt defterinde depolayabilirsiniz. Kapsayıcı başlatıldığında yalnızca şu anda kapsayıcıda depolanmayan ayarlara ihtiyaç duyar. Özel kayıt defteri kapsayıcısı, bu ayarları geçirmeniz için yapılandırma alanı sağlar.

Docker çalıştırma söz dizimi

Bu belgedeki tüm docker run örneklerde, satır devamı karakterine sahip bir ^ Windows konsolu olduğu varsayılır. Kendi kullanımınız için aşağıdakileri göz önünde bulundurun:

  • Docker kapsayıcıları hakkında çok fazla bilgi sahibi değilseniz bağımsız değişkenlerin sırasını değiştirmeyin.
  • Windows dışında bir işletim sistemi veya Windows konsolu dışında bir konsol kullanıyorsanız, konsolunuz ve sisteminiz için doğru konsolu/terminali, bağlamalar için klasör söz dizimini ve satır devamı karakterini kullanın. Azure AI hizmetleri kapsayıcısı bir Linux işletim sistemi olduğundan, hedef bağlama Linux stili bir klasör söz dizimi kullanır.
  • docker run örnekler, Windows'ta herhangi bir izin çakışmasını c: önlemek için sürücüdeki dizini kullanır. Giriş dizini olarak belirli bir dizini kullanmanız gerekiyorsa docker hizmeti izni vermeniz gerekebilir.

Görüntüde yapılandırma ayarı depolama

Her hizmet için örnek docker run komutlar kapsayıcıda hiçbir yapılandırma ayarı depolamaz. Kapsayıcıyı bir konsoldan veya kayıt defteri hizmetinden başlattığınızda, bu yapılandırma ayarlarının geçmesi gerekir. Özel kayıt defteri kapsayıcısı, bu ayarları geçirmeniz için yapılandırma alanı sağlar.

Tarifi yeniden kullanma: Tüm yapılandırma ayarlarını kapsayıcıyla depolama

Tüm yapılandırma ayarlarını depolamak için bu ayarlarla bir Dockerfile oluşturun.

Bu yaklaşımla ilgili sorunlar:

  • Yeni kapsayıcı, özgün kapsayıcıdan ayrı bir ada ve etikete sahiptir.
  • Bu ayarları değiştirmek için Dockerfile değerlerini değiştirmeniz, görüntüyü yeniden oluşturmanız ve kayıt defterinizde yeniden yayımlamanız gerekir.
  • Birisi kapsayıcı kayıt defterinize veya yerel konağınıza erişim elde ederse kapsayıcıyı çalıştırabilir ve Azure AI hizmetleri uç noktalarını kullanabilir.
  • Kullandığınız Azure AI hizmeti için giriş bağlaması gerekmiyorsa dockerfile'ınıza satırları eklemeyin COPY .

Kullanmak istediğiniz mevcut Azure AI hizmetleri kapsayıcısından çekerek Dockerfile oluşturun, ardından dockerfile içindeki docker komutlarını kullanarak kapsayıcının ihtiyaç duyduğu bilgileri ayarlayın veya içeri çekin.

Bu örnek:

  • kullanarak ENVkonağın ortam anahtarından faturalama uç noktasını {BILLING_ENDPOINT} ayarlar.
  • 'ENV' kullanarak konağın ortam anahtarından faturalama API anahtarını {ENDPOINT_KEY} ayarlar.

Tarifi yeniden kullanma: faturalama ayarlarını kapsayıcıyla depolama

Bu örnekte, Dockerfile'dan Dil hizmetinin yaklaşım kapsayıcısını derleme işlemi gösterilmektedir.

FROM mcr.microsoft.com/azure-cognitive-services/sentiment:latest
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept

Kapsayıcıyı yerel olarak veya gerektiğinde özel kayıt defteri kapsayıcınızdan derleyin ve çalıştırın.

Tarifi yeniden kullanma: faturalama ve bağlama ayarlarını kapsayıcıyla depolama

Bu örnekte, Language Understanding nasıl kullanılacağı, faturalamanın ve modellerin Dockerfile dosyasından nasıl kaydedildiği gösterilmektedir.

  • kullanarak Language Understanding (LUIS) model dosyasını konağın dosya sisteminden COPYkopyalar.
  • LUIS kapsayıcısı birden fazla modeli destekler. Tüm modeller aynı klasörde depolanıyorsa, tek bir COPY deyiminiz olması gerekir.
  • Docker dosyasını model giriş dizininin göreli üst öğesinden çalıştırın. Aşağıdaki örnek için göreli üst öğesinden ve docker run komutlarını /inputçalıştırındocker build. Komutun ilki /inputCOPY ana bilgisayarın dizinidir. İkincisi /input kapsayıcının dizinidir.
FROM <container-registry>/<cognitive-service-container-name>:<tag>
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept
COPY /input /input

Kapsayıcıyı yerel olarak veya gerektiğinde özel kayıt defteri kapsayıcınızdan derleyin ve çalıştırın.

Kapsayıcıyı yerel konağınızda kullanma

Docker dosyasını oluşturmak için öğesini görüntünün yeni adıyla değiştirin <your-image-name> ve şunu kullanın:

docker build -t <your-image-name> .

Görüntüyü çalıştırmak ve kapsayıcı durduğunda kaldırmak için (--rm):

docker run --rm <your-image-name>

Özel kayıt defterine kapsayıcı ekleme

Dockerfile'ı kullanmak ve yeni görüntüyü özel kapsayıcı kayıt defterinize yerleştirmek için bu adımları izleyin.

  1. Yeniden kullanım tarifi metniyle bir Dockerfile oluşturun. A Dockerfile uzantısına sahip değildir.

  2. Açılı ayraçlardaki tüm değerleri kendi değerlerinizle değiştirin.

  3. Aşağıdaki komutu kullanarak dosyayı komut satırında veya terminalde bir görüntüde oluşturun. köşeli ayraçlarındaki <>değerleri kendi kapsayıcı adınız ve etiketinizle değiştirin.

    etiket seçeneği, -tkapsayıcı için neleri değiştirdiğiniz hakkında bilgi eklemenin bir yoludur. Örneğin, kapsayıcı adı modified-LUIS özgün kapsayıcının katmanlandığını gösterir. etiket adıwith-billing-and-model, Language Understanding (LUIS) kapsayıcısının nasıl değiştirildiğini gösterir.

    docker build -t <your-new-container-name>:<your-new-tag-name> .
    
  4. Konsoldan Azure CLI'da oturum açın. Bu komut bir tarayıcı açar ve kimlik doğrulaması gerektirir. Kimlik doğrulamasından geçtikten sonra tarayıcıyı kapatabilir ve konsolda çalışmaya devam edebilirsiniz.

    az login
    
  5. Konsoldan Azure CLI ile özel kayıt defterinizde oturum açın.

    köşeli ayraçlarındaki <my-registry>değerleri kendi kayıt defteri adınızla değiştirin.

    az acr login --name <my-registry>
    

    Size bir hizmet sorumlusu atanmışsa docker oturum açma bilgileriyle de oturum açabilirsiniz.

    docker login <my-registry>.azurecr.io
    
  6. Kapsayıcıyı özel kayıt defteri konumuyla etiketleyin. köşeli ayraçlarındaki <my-registry>değerleri kendi kayıt defteri adınızla değiştirin.

    docker tag <your-new-container-name>:<your-new-tag-name> <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>
    

    Etiket adı kullanmazsanız, latest bu örtülüdür.

  7. Yeni görüntüyü özel kapsayıcı kayıt defterinize gönderin. Özel kapsayıcı kayıt defterinizi görüntülediğinizde, aşağıdaki CLI komutunda kullanılan kapsayıcı adı deponun adı olur.

    docker push <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>
    

Sonraki adımlar

Azure Container Instance oluşturma ve kullanma