Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Container Registry (ACR) je privátní registr pro image kontejneru. Privátní registr kontejneru umožňuje bezpečně sestavovat a nasazovat aplikace a vlastní kód.
V tomto návodu vytvoříte a nakonfigurujete instanci ACR a přenesete do ní kontejnerový obraz. Naučíte se:
- Vytvořte instanci ACR.
- Použijte ACR Tasks k sestavení a odeslání image kontejneru do ACR.
- Zobrazit snímky v registru
Než začnete
V předchozím kurzu jste naklonovali úložiště kódu aplikace a použili Docker k vytvoření image kontejneru pro jednoduchou aplikaci Azure Store Front. Pokud jste image aplikace Azure Store Front nevytvořili, vraťte se na Tutorial 1 – Příprava aplikace pro AKS.
Tento kurz vytvoří zpoplatněné prostředky Azure, včetně skupiny prostředků a registru kontejnerů Azure. K provedení těchto kroků potřebujete oprávnění k vytváření skupin prostředků a Azure Container Registry prostředků ve vašem předplatném, jako je přispěvatel nebo vlastník.
Tento kurz vyžaduje Azure CLI verze 2.0.53 nebo novější. Verzi najdete spuštěním az --version příkazu. Pokud potřebujete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.
Vytvoření Azure Container Registry
Před vytvořením instance ACR potřebujete skupinu prostředků. Skupina prostředků Azure je logický kontejner, do kterého nasazujete a spravujete Azure prostředky.
Vytvořte proměnné pro název skupiny prostředků, umístění a název registru. Tyto hodnoty můžete použít nebo si vytvořit vlastní. Hodnota proměnné názvu registru uložená v
ACRNAMEmusí být jedinečná v rámci Azure a obsahovat 5–50 malých alfanumerických znaků.export RESOURCE_GROUP=myResourceGroup export LOCATION=westus2 export RANDOM_STRING=$(printf '%05d%05d' "$RANDOM" "$RANDOM") export ACRNAME="myregistry${RANDOM_STRING}"Hodnota proměnné názvu registru uložená v
ACRNAMEmusí být jedinečná v rámci Azure a obsahovat 5–50 malých alfanumerických znaků. HodnotaACRNAMEje zřetězena sRANDOM_STRINGproměnnou, která ukládá náhodný 10místný řetězec, aby byl název registru jedinečný. ProměnnáRESOURCE_GROUPs hodnotou myResourceGroup pro skupinu prostředků aLOCATIONs hodnotou westus2. Tyto hodnoty můžete použít nebo si vytvořit vlastní.Vytvořte skupinu prostředků pomocí příkazu
az group create.az group create --name $RESOURCE_GROUP --location $LOCATIONPomocí rutiny
New-AzContainerRegistryvytvořte instanci ACR a zadejte vlastní jedinečný název registru. Skladová položka Basic představuje vstupní bod optimalizovaný z hlediska nákladů pro účely vývoje a poskytuje vyváženou kombinaci úložiště a propustnosti.az group show --name $RESOURCE_GROUP --query name --output tsvPomocí příkazu vytvořte instanci
az acr createACR a zadejte vlastní jedinečný název registru. Skladová položka Basic představuje vstupní bod optimalizovaný z hlediska nákladů pro účely vývoje a poskytuje vyváženou kombinaci úložiště a propustnosti.az acr create \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --name $ACRNAME \ --sku BasicOvěřte, že stav zřizování registru je
Succeeded, než budete pokračovat:az acr show --name $ACRNAME --resource-group $RESOURCE_GROUP --query provisioningState --output tsv
Vytvoření a nahrání obrazů kontejneru do registru
Sestavte a nasdílejte image do služby ACR pomocí příkazu Azure CLI az acr build. Příkazy az acr build využívají image v úložišti, které jste naklonovali v předchozím článku Příprava aplikace pro AKS. Ujistěte se, že přepnete do daného adresáře, jinak příkazy selžou build. Pokud jste například vytvořili demorepo a naklonovali úložiště, kořenový adresář úložiště je aks-store-demo, takže přejděte do adresáře demorepo/aks-store-demo .
Před spuštěním příkazů sestavení ověřte, že váš aktuální adresář obsahuje očekávané složky služby:
ls ./src/order-service ./src/store-front
Neexistuje ekvivalentní Azure PowerShell rutina, která do registru sestaví nebo nasdílí image kontejneru. Musíte použít postup pro Azure CLI, ale s proměnnou ACRNAME nastavenou na hodnotu, kterou jste vytvořili v PowerShellu. V PowerShellu můžete získat hodnotu pomocí příkazu $ACRNAME.
V následujícím příkladu product-service image nezkompilujeme. Sestavení této image může trvat dlouho a v GitHub Container Registry (GHCR) už existuje image kontejneru. Pomocí az acr import příkazu můžete importovat image z GHCR do vaší instance ACR. Image také nevytvojíme rabbitmq . Tato image je k dispozici z veřejného úložiště Docker Hub a není nutné ji vytvářet ani nasdílovat do instance služby ACR.
az acr import \
--name $ACRNAME \
--source ghcr.io/azure-samples/aks-store-demo/product-service:latest \
--image aks-store-demo/product-service:1.0
az acr build \
--registry $ACRNAME \
--image aks-store-demo/order-service:1.0 ./src/order-service/
az acr build \
--registry $ACRNAME \
--image aks-store-demo/store-front:1.0 ./src/store-front/
Pokud se zobrazí chyba autorizace, spusťte az login, potvrďte aktivní předplatné a az account showpak znovu spusťte neúspěšný příkaz.
Výpis obrazů v registru
Pomocí příkazu az acr repository list zobrazte obrázky ve své instanci služby ACR.
az acr repository list --name $ACRNAME --output table
Následující příklad výstupu obsahuje seznam dostupných imagí v registru:
Result
----------------
aks-store-demo/product-service
aks-store-demo/order-service
aks-store-demo/store-front
Další kroky
V tomto kurzu jste vytvořili ACR a odeslali do něj image, které se mají použít v clusteru AKS. Naučili jste se:
- Vytvořte instanci ACR.
- Použijte ACR Tasks k sestavení a odeslání image kontejneru do ACR.
- Zobrazit snímky v registru
V dalším kurzu se dozvíte, jak nasadit cluster Kubernetes v Azure.