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 gerekli olmaması için bazı veya tüm yapılandırma ayarları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 devamlılığı 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ına çok aşina 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 stilinde bir klasör söz dizimi kullanır.
  • docker run örnekler, Windows'ta izin çakışmalarını önlemek için sürücüdeki c: dizini kullanır. Giriş dizini olarak belirli bir dizini kullanmanız gerekiyorsa docker hizmeti izni vermeniz gerekebilir.

Görüntüde yapılandırma ayarları 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çirilmesi 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 defterinize yeniden yayımlamanız gerekir.
  • Birisi kapsayıcı kayıt defterinize veya yerel ana bilgisayarı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 alın.

Bu örnek:

  • kullanarak ENVana bilgisayarı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 Language hizmetinin yaklaşım kapsayıcısının nasıl derlenmiyor olduğu 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 özel kayıt defteri kapsayıcınızdan gerektiği gibi derleyin ve çalıştırın.

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

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

  • Language Understanding (LUIS) model dosyasını kullanarak COPYkonağın dosya sisteminden kopyalar.
  • LUIS kapsayıcısı birden fazla modeli destekler. Tüm modeller aynı klasörde depolanıyorsa, tek bir COPY deyim gerekir.
  • Model giriş dizininin göreli üst öğesinden docker dosyasını çalıştırın. Aşağıdaki örnek için öğesinin docker build göreli üst /inputöğesinden ve docker run komutlarını çalıştırın. Komutun ilki /input COPY 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 özel kayıt defteri kapsayıcınızdan gerektiği gibi 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 ardından ş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 tarifinden metin içeren bir Dockerfile oluşturun. A Dockerfile uzantısına sahip değildir.

  2. Köşeli 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ü halinde 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>
    

    Ayrıca 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