Sdílet prostřednictvím


Vytváření kontejnerů pro opakované použití

Pomocí těchto receptů na kontejnery můžete vytvářet kontejnery Azure AI, které je možné znovu použít. Kontejnery je možné sestavit pomocí některých nebo všech nastavení konfigurace, aby se při spuštění kontejneru nepotřebné .

Jakmile máte tuto novou vrstvu kontejneru (s nastavením) a otestovali jste ji místně, můžete kontejner uložit do registru kontejneru. Když se kontejner spustí, bude potřebovat jenom nastavení, která nejsou aktuálně uložená v kontejneru. Kontejner privátního registru poskytuje prostor pro konfiguraci, ve které můžete tato nastavení předat.

Syntaxe spuštění Dockeru

Všechny docker run příklady v tomto dokumentu předpokládají konzolu systému Windows se znakem ^ pokračování řádku. Zvažte následující možnosti pro vlastní použití:

  • Pokud neznáte kontejnery Dockeru, neměňte pořadí argumentů.
  • Pokud používáte jiný operační systém než Windows nebo konzolu jinou než konzolu Systému Windows, použijte správnou konzolu nebo terminál, syntaxi složek pro připojení a znak pokračování řádku pro konzolu a systém. Protože kontejner služeb Azure AI je operační systém Linux, cílová připojení používá syntaxi složek ve stylu Linuxu.
  • docker run Příklady používají adresář mimo jednotku c: , aby nedocházelo ke konfliktům oprávnění ve Windows. Pokud potřebujete jako vstupní adresář použít konkrétní adresář, možná budete muset udělit oprávnění ke službě Docker.

Uložení nastavení konfigurace v imagi

Ukázkové docker run příkazy pro každou službu neukládají do kontejneru žádná nastavení konfigurace. Když kontejner spustíte z konzoly nebo služby registru, musí se tato nastavení konfigurace předat. Kontejner privátního registru poskytuje prostor pro konfiguraci, ve které můžete tato nastavení předat.

Opětovné použití receptu: Uložte všechna nastavení konfigurace s kontejnerem.

Pokud chcete uložit všechna nastavení konfigurace, vytvořte s Dockerfile těmito nastaveními nastavení.

Problémy s tímto přístupem:

  • Nový kontejner má samostatný název a značku od původního kontejneru.
  • Abyste mohli tato nastavení změnit, budete muset změnit hodnoty souboru Dockerfile, znovu sestavit image a znovu publikovat do registru.
  • Pokud někdo získá přístup k vašemu registru kontejneru nebo vašemu místnímu hostiteli, může kontejner spustit a používat koncové body služeb Azure AI.
  • Pokud služba Azure AI, kterou používáte, nevyžaduje připojení vstupu, nepřidávejte COPY řádky do souboru Dockerfile.

Vytvořte soubor Dockerfile, načítejte z existujícího kontejneru služeb Azure AI, který chcete použít, a pak pomocí příkazů Dockerfile nastavte nebo stáhněte informace, které kontejner potřebuje.

Tento příklad:

  • Nastaví koncový bod {BILLING_ENDPOINT} fakturace z klíče prostředí hostitele pomocí ENV.
  • Nastaví klíč {ENDPOINT_KEY} rozhraní API pro fakturaci z klíče prostředí hostitele pomocí enV.

Opětovné použití receptu: Ukládání nastavení fakturace s kontejnerem

Tento příklad ukazuje, jak sestavit kontejner mínění služby Language ze souboru Dockerfile.

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

Podle potřeby sestavte a spusťte kontejner místně nebo z kontejneru privátního registru.

Opětovné použití receptu: ukládání fakturace a nastavení připojení s kontejnerem

Tento příklad ukazuje, jak používat Language Understanding, ukládání fakturace a modelů ze souboru Dockerfile.

  • Zkopíruje soubor modelu SLUŽBY LUIS (Language Understanding) ze systému souborů hostitele pomocí COPY.
  • Kontejner LUIS podporuje více než jeden model. Pokud jsou všechny modely uložené ve stejné složce, budete potřebovat jeden COPY příkaz.
  • Spusťte soubor Dockeru z relativního nadřazeného adresáře vstupu modelu. V následujícím příkladu spusťte docker build příkazy docker run z relativního nadřazeného objektu /input. Prvním /input příkazem COPY je adresář hostitelského počítače. /input Druhým je adresář kontejneru.
FROM <container-registry>/<cognitive-service-container-name>:<tag>
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept
COPY /input /input

Podle potřeby sestavte a spusťte kontejner místně nebo z kontejneru privátního registru.

Jak používat kontejner na místním hostiteli

K sestavení souboru Dockeru nahraďte <your-image-name> novým názvem image a pak použijte:

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

Spuštění image a jeho odebrání po zastavení kontejneru (--rm):

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

Postup přidání kontejneru do privátního registru

Pomocí následujícího postupu použijte soubor Dockerfile a novou image umístěte do privátního registru kontejneru.

  1. Vytvořte Dockerfile text s textem z opakovaného použití receptu. A Dockerfile nemá rozšíření.

  2. Nahraďte všechny hodnoty v hranatých závorkách vlastními hodnotami.

  3. Pomocí následujícího příkazu sestavte soubor do image na příkazovém řádku nebo terminálu. Nahraďte hodnoty v úhlových závorkách <>vlastním názvem a značkou kontejneru.

    Možnost značky je způsob, jak přidat informace o tom, -tco jste změnili pro kontejner. Například název kontejneru modified-LUIS označuje, že byl původní kontejner vrstvený. Název with-billing-and-model značky označuje, jak byl změněn kontejner LUIS (Language Understanding).

    docker build -t <your-new-container-name>:<your-new-tag-name> .
    
  4. Přihlaste se k Azure CLI z konzoly. Tento příkaz otevře prohlížeč a vyžaduje ověření. Po ověření můžete prohlížeč zavřít a pokračovat v práci v konzole.

    az login
    
  5. Přihlaste se ke svému privátnímu registru pomocí Azure CLI z konzoly.

    Nahraďte hodnoty v lomených závorkách <my-registry>vlastním názvem registru.

    az acr login --name <my-registry>
    

    Pokud máte přiřazený instanční objekt, můžete se také přihlásit pomocí přihlášení dockeru.

    docker login <my-registry>.azurecr.io
    
  6. Označte kontejner umístěním privátního registru. Nahraďte hodnoty v lomených závorkách <my-registry>vlastním názvem registru.

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

    Pokud nepoužíváte název značky, latest je implicitní.

  7. Odešle novou image do vašeho privátního registru kontejneru. Když zobrazíte privátní registr kontejneru, název kontejneru použitý v následujícím příkazu rozhraní příkazového řádku bude název úložiště.

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

Další kroky

Vytvoření a použití služby Azure Container Instance