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 jednotkuc:
, 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říkazydocker run
z relativního nadřazeného objektu/input
. Prvním/input
příkazemCOPY
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.
Vytvořte
Dockerfile
text s textem z opakovaného použití receptu. ADockerfile
nemá rozšíření.Nahraďte všechny hodnoty v hranatých závorkách vlastními hodnotami.
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,
-t
co jste změnili pro kontejner. Například název kontejnerumodified-LUIS
označuje, že byl původní kontejner vrstvený. Názevwith-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> .
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
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
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í.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>