Vytváření kontejnerů pro opakované použití
Pomocí těchto receptů o kontejnerech můžete vytvářet kontejnery Azure AI, které je možné opakovaně používat. Kontejnery je možné sestavit s některými nebo všemi nastaveními konfigurace, aby při spuštění kontejneru nebyly potřeba.
Jakmile budete mít tuto novou vrstvu kontejneru (s nastavením) a máte ji otestovanou místně, můžete kontejner uložit do registru kontejneru. Když se kontejner spustí, bude potřebovat jenom ta nastavení, která nejsou aktuálně uložená v kontejneru. Kontejner privátního registru poskytuje prostor pro konfiguraci, abyste tato nastavení mohli předat.
Syntaxe spuštění Dockeru
Všechny docker run
příklady v tomto dokumentu předpokládají konzolu Windows se znakem ^
pokračování řádku. Pro vlastní použití zvažte následující:
- Neměňte pořadí argumentů, pokud nemáte zkušenosti s kontejnery Dockeru.
- Pokud používáte jiný operační systém než Windows nebo konzolu jinou než konzolu 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. Vzhledem k tomu, ž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žití adresáře mimo jednotkuc:
, aby se zabránilo konfliktům oprávnění ve Windows. Pokud jako vstupní adresář potřebujete použít konkrétní adresář, možná budete muset službě Docker udělit oprávnění.
Neukládejte v imagi žádná nastavení konfigurace.
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, abyste tato nastavení mohli předat.
Opětovné použití receptu: Uložení všech nastavení konfigurace pomocí kontejneru
Pokud chcete uložit všechna nastavení konfigurace, vytvořte s těmito nastaveními Dockerfile
.
Problémy s tímto přístupem:
- Nový kontejner má samostatný název a značku od původního kontejneru.
- Pokud chcete 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 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 vstupní připojení, nepřidávejte
COPY
řádky do souboru Dockerfile.
Vytvořte soubor Dockerfile a stáhněte si z existujícího kontejneru služeb Azure AI, který chcete použít, a pak pomocí příkazů Dockerfile nastavte nebo načítejte 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.
Opakované použití receptu: uložení nastavení fakturace pomocí kontejneru
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 .
Opakované použití receptu: uložení nastavení fakturace a připojení pomocí kontejneru
Tento příklad ukazuje, jak používat Language Understanding a ukládat fakturaci a modely ze souboru Dockerfile.
- Zkopíruje soubor modelu Language Understanding (LUIS) ze systému souborů hostitele pomocí
COPY
příkazu . - 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 vstupního adresáře modelu. V následujícím příkladu
docker build
spusťte příkazy adocker run
z relativního nadřazeného objektu/input
. První/input
vCOPY
příkazu je adresář hostitelského počítače. Druhým/input
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
Pokud chcete sestavit soubor 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 odebrání při zastavení kontejneru (--rm
):
docker run --rm <your-image-name>
Přidání kontejneru do privátního registru
Pokud chcete použít soubor Dockerfile a umístit novou image do privátního registru kontejneru, postupujte podle těchto kroků.
Vytvořte s
Dockerfile
textem z opakovaného použití receptu. ADockerfile
nemá rozšíření.Nahraďte všechny hodnoty v lomených závorkách vlastními hodnotami.
Pomocí následujícího příkazu zabudujte soubor do image na příkazovém řádku nebo v terminálu. Nahraďte hodnoty v lomených závorkách
<>
vlastním názvem kontejneru a značkou.Možnost značky představuje způsob, jak přidat informace o tom,
-t
co jste pro kontejner změnili. Například názevmodified-LUIS
kontejneru znamená, že původní kontejner byl vrstvený. Názevwith-billing-and-model
značky označuje, jak se změnil kontejner Language Understanding (LUIS).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 nástroje .
az login
Přihlaste se k 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>
Můžete se také přihlásit pomocí přihlášení Dockeru, pokud máte přiřazený instanční objekt.
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žijete název značky,
latest
je implicitní.Nasdílejte novou image do privátního registru kontejneru. Při zobrazení privátního registru kontejneru bude název kontejneru použitý v následujícím příkazu rozhraní příkazového řádku 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