Kurz: Vytvoření registru kontejneru Azure a nasdílení image kontejneru
Tento článek je druhou částí třídílného kurzu. V první části tohoto kurzu se vytvářela image kontejneru Docker pro webovou aplikaci Node.js. V tomto kurzu nahrajete image do služby Azure Container Registry. Pokud potřebujete vytvořit image kontejneru, vraťte se do kurzu 1 – Vytvoření image kontejneru.
Služba Azure Container Registry je vaším privátním registrem Dockeru v Azure. V tomto kurzu, který je druhou částí série, jste:
- Vytvoření instance služby Azure Container Registry pomocí Azure CLI
- Označit image kontejneru pro svůj registr kontejneru Azure
- Odeslat image do registru
V následujícím článku, který je posledním dílem série, nasadíte kontejner z privátního registru do služby Azure Container Instances.
Než začnete
Abyste mohli absolvovat tento kurz, musíte splňovat následující požadavky:
Azure CLI: Na svém místním počítači musíte mít nainstalované Azure CLI verze 2.0.29 nebo novější. Verzi zjistíte spuštěním příkazu az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.
Docker: V tomto kurzu se předpokládá základní znalost klíčových konceptů Dockeru, jako jsou kontejnery, image kontejnerů a základní příkazy docker
. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru).
Docker: K dokončení tohoto kurzu potřebujete Docker nainstalovaný místně. Docker poskytuje balíčky, které nakonfigurují prostředí Dockeru v systému macOS, Windows a Linux.
Důležité
Vzhledem k tomu, že Azure Cloud Shell neobsahuje démona Dockeru, k dokončení tohoto kurzu musíte nainstalovat Azure CLI i modul Docker na svůj místní počítač. Pro účely tohoto kurzu není možné použít Azure Cloud Shell.
Vytvoření registru kontejneru Azure
Než vytvoříte registr kontejneru, budete potřebovat skupinu prostředků, do které ho budete moct nasadit. Skupina prostředků je logická kolekce, ve které se nasazují a spravují všechny prostředky Azure.
Vytvořte skupinu prostředků pomocí příkazu az group create. V následujícím příkladu se vytvoří skupina prostředků s názvem myResourceGroup v oblasti eastus:
az group create --name myResourceGroup --location eastus
Po vytvoření skupiny prostředků vytvořte registr kontejneru Azure pomocí příkazu az acr create . Název registru kontejneru musí být v rámci prostředí Azure jedinečný a musí obsahovat 5 až 50 alfanumerických znaků. Nahraďte položku <acrName>
jedinečným názvem pro svůj registr:
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
Tady je částečný výstup nového registru kontejneru Azure s názvem mycontainerregistry082:
{
"creationDate": "2020-07-16T21:54:47.297875+00:00",
"id": "/subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/mycontainerregistry082",
"location": "eastus",
"loginServer": "mycontainerregistry082.azurecr.io",
"name": "mycontainerregistry082",
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
Zbývající část tohoto kurzu používá <acrName>
jako zástupný text pro název registru kontejneru, který zvolíte v tomto kroku.
Přihlášení k registru kontejneru
Před nasdílením imagí do instance služby Azure Container Registry se musíte přihlásit ke své instanci služby Azure Container Registry. Dokončete operaci pomocí příkazu az acr login. Je třeba uvést jedinečný název, který jste zvolili pro registr kontejneru při jeho vytváření.
az acr login --name <acrName>
Příklad:
az acr login --name mycontainerregistry082
Příkaz po dokončení vrátí zprávu Login Succeeded
(Přihlášení bylo úspěšné):
Login Succeeded
Označení image kontejneru
Pokud chcete image kontejneru odeslat do privátního registru, jako je služba Azure Container Registry, musíte nejprve image označit úplným názvem přihlašovacího serveru registru.
Nejprve získejte úplný název přihlašovacího serveru pro svůj registr kontejneru Azure. Spusťte následující příkaz az acr show a nahraďte <acrName>
názvem registru, který jste vytvořili:
az acr show --name <acrName> --query loginServer --output table
Pokud se například váš registr jmenuje mycontainerregistry082, bude příkaz vypadat takto:
az acr show --name mycontainerregistry082 --query loginServer --output table
Result
------------------------
mycontainerregistry082.azurecr.io
Nyní zobrazte seznam místních imagí pomocí příkazu docker images:
docker images
Kromě ostatních imagí, které máte na svém počítači, byste měli vidět image aci-tutorial-app, které jste vytvořili v předchozím kurzu:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
Označte image aplikace aci-tutorial pomocí přihlašovacího serveru vašeho registru kontejneru. Na konec názvu image přidejte také značku :v1
, abyste označili číslo verze image. Nahraďte položku <acrLoginServer>
výsledkem příkazu az acr show, který jste spustili před chvílí.
docker tag aci-tutorial-app <acrLoginServer>/aci-tutorial-app:v1
Spusťte příkaz docker images
znovu, abyste ověřili označení:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 minutes ago 68.1 MB
mycontainerregistry082.azurecr.io/aci-tutorial-app v1 5c745774dfa9 7 minutes ago 68.1 MB
Nahrání image do služby Azure Container Registry
Teď, když jste označili image aplikace aci-tutorial-app úplným názvem přihlašovacího serveru vašeho privátního registru, můžete image odeslat do registru pomocí příkazu docker push . Nahraďte položku <acrLoginServer>
úplným názvem přihlašovacího serveru, který jste získali v dřívějším kroku.
docker push <acrLoginServer>/aci-tutorial-app:v1
Operace push
by měla trvat několik sekund až několik minut v závislosti na připojení k internetu a výstup je podobný následujícímu příkladu:
docker push mycontainerregistry082.azurecr.io/aci-tutorial-app:v1
The push refers to a repository [mycontainerregistry082.azurecr.io/aci-tutorial-app]
3db9cac20d49: Pushed
13f653351004: Pushed
4cd158165f4d: Pushed
d8fbd47558a8: Pushed
44ab46125c35: Pushed
5bef08742407: Pushed
v1: digest: sha256:ed67fff971da47175856505585dcd92d1270c3b37543e8afd46014d328f05715 size: 1576
Vypsání seznamu imagí ve službě Azure Container Registry
Pokud si chcete ověřit, že image, kterou jste právě odeslali, se skutečně nachází v registru kontejneru Azure, použijte příkaz az acr repository list a prohlédněte si seznam imagí ve svém registru. Nahraďte položku <acrName>
názvem svého registru kontejneru.
az acr repository list --name <acrName> --output table
Příklad:
az acr repository list --name mycontainerregistry082 --output table
Result
----------------
aci-tutorial-app
Značky pro konkrétní image si můžete zobrazit pomocí příkazu az acr repository show-tags.
az acr repository show-tags --name <acrName> --repository aci-tutorial-app --output table
Měl by se zobrazit výstup podobný následujícímu příkladu:
--------
v1
Další kroky
V tomto kurzu jste připravili registr kontejneru Azure pro použití se službou Azure Container Instances a nahráli jste image kontejneru do registru. Dokončili jste následující kroky:
- Vytvoření instance služby Azure Container Registry pomocí Azure CLI
- Označení image kontejneru pro službu Azure Container Registry
- Odeslání image do služby Azure Container Registry
Přejděte k dalšímu kurzu, ve kterém se naučíte, jak nasadit kontejner do prostředí Azure s použitím služby Azure Container Instances: